//只能输入两位小数 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { Boolean isHaveDian = YES; if ([textField.text rangeOfString:@"."].location==NSNotFound) { isHaveDian=NO; } if ([string length]>0) { unichar single=[string characterAtIndex:0];//当前输入的字符 if ((single >='0' && single<='9') || single=='.')//数据格式正确 { //首字母不能为0和小数点 if([textField.text length]==0){ if(single == '.'){ [textField.text stringByReplacingCharactersInRange:range withString:@""]; return NO; } if (single == '0') { [textField.text stringByReplacingCharactersInRange:range withString:@""]; return NO; } } if (single=='.') { if(!isHaveDian)//text中还没有小数点 { isHaveDian=YES; return YES; }else { [textField.text stringByReplacingCharactersInRange:range withString:@""]; return NO; } } else { if (isHaveDian)//存在小数点 { //判断小数点的位数 NSRange ran=[textField.text rangeOfString:@"."]; NSInteger tt=range.location-ran.location; if (tt <= 2){ return YES; }else{ return NO; } } else { return YES; } } }else{//输入的数据格式不正确 [textField.text stringByReplacingCharactersInRange:range withString:@""]; return NO; } } else { return YES; } }
OC UITextField只允许输入两位小数
猜你喜欢
转载自www.cnblogs.com/hualuoshuijia/p/9957669.html
今日推荐
周排行