iOS

iOS- UITextField 输入框(控制输入小数点后两位)

2016-07-18  本文已影响603人  Mr_Bob_
Untitled.gif
前言:

有很多做支付的时候,要求是输入控制在小数点后两位,如上图效果,我们只需要把对应的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;
    // 这个可以自定义,保留到小数点后两位,后几位都可以
    const NSInteger limited = 2;
    
    for (NSInteger i = futureString.length - 1; i >= 0; i--) {
        
        if ([futureString characterAtIndex:i] == '.') {
            // 如果大于了限制的就提示
            if (flag > limited) {
                
                [SVProgressHUD showErrorWithStatus:@"输入金额请控制在小数点后两位" duration:2.0];
                return NO;
            }
            
            break;
        }
        
        flag++;
    }
    
    return YES;
}
上一篇下一篇

猜你喜欢

热点阅读