TextField输入金额时限制:只能输入一个小数点,小数点后最多输入两位

1.textfield的键盘类型:只能输入数字和小数点
textField.keyboardType = UIKeyboardTypeDecimalPad;
2.注册代理
textField.delegate = self;
3.在代理方法中控制:(1)首位不能输入小数点;(2)只能输入一个小数点;(3)小数点后最多输入两位。
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSLog(@"string =%@==",string);

if ([string isEqualToString:@"."]&&(textField.text.length==0)) {
    return NO;
}  
if ([string isEqualToString:@"."]&&[textField.text containsString:@"."]) {
    return NO;
}
if (![string isEqualToString:@""]&&[textField.text containsString:@"."]) {
    
    NSArray *arr = [textField.text componentsSeparatedByString:@"."];
    if (arr.count == 2) {
        NSString *str = arr.lastObject;
        if (str.length>=2) {
            return NO;
        }
    }
}
return YES;

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。