Untitled.gif
前言:
有很多做支付的時候,要求是輸入控制在小數(shù)點后兩位,如上圖效果,我們只需要把對應的UITextField遵守代理,然后在代理方法中做下處理,具體代碼入下:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSMutableString *futureString = [NSMutableString stringWithString:textField.text];
[futureString insertString:string atIndex:range.location];
NSInteger flag = 0;
// 這個可以自定義,保留到小數(shù)點后兩位,后幾位都可以
const NSInteger limited = 2;
for (NSInteger i = futureString.length - 1; i >= 0; i--) {
if ([futureString characterAtIndex:i] == '.') {
// 如果大于了限制的就提示
if (flag > limited) {
[SVProgressHUD showErrorWithStatus:@"輸入金額請控制在小數(shù)點后兩位" duration:2.0];
return NO;
}
break;
}
flag++;
}
return YES;
}