- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSRange aRange = [textField.text rangeOfString:@"."];
if (aRange.location != NSNotFound && [string isEqualToString:@"."]) {
return NO;
}
NSMutableString * futureString = [NSMutableString stringWithString:textField.text];
[futureString insertString:string atIndex:range.location];
NSInteger flag = 0;
const NSInteger limited = 2;//小数点后需要限制的个数
for (NSInteger i = futureString.length - 1; i>= 0; i--) {
if ([futureString characterAtIndex:i] == '.') {
if (flag > limited) {
return NO;
}
break;
}
flag++;
}
return YES;
}
- (void) textFieldDidEndEditing:(UITextField *)textField{
if (textField.text.length) {
NSDecimalNumber *decimalNumber = [NSDecimalNumber decimalNumberWithString:textField.text];
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
numberFormatter.numberStyle = NSNumberFormatterCurrencyStyle;
numberFormatter.currencySymbol = @"";
textField.text = [numberFormatter stringFromNumber:decimalNumber];
}
}