美文网首页iOS
iOS- UITextField 输入框(控制输入小数点后两位)

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

作者: Mr_Bob_ | 来源:发表于2016-07-18 17:30 被阅读603次
    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;
    }
    

    相关文章

      网友评论

        本文标题:iOS- UITextField 输入框(控制输入小数点后两位)

        本文链接:https://www.haomeiwen.com/subject/llapjttx.html