- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if ([self.moneyTtextField.text rangeOfString:@"."].location==NSNotFound) {
self.isHaveDian=NO;
}
if ([string length]>0){
unichar single=[string characterAtIndex:0];//当前输入的字符
if([self.moneyTtextField.text length]==0){
//首字母不能为0和小数点
if(single =='.'){
[SVProgressHUD showErrorWithStatus:@"提示,第一个数字不能为小数点"];
[self.moneyTtextField.text stringByReplacingCharactersInRange:range withString:@""];
return NO;
}
if (single =='0') {
[SVProgressHUD showErrorWithStatus:@"提示,第一个数字不能为0"];
[self.moneyTtextField.text stringByReplacingCharactersInRange:range withString:@""];
return NO;
}
}
if (single=='.'){//text中还没有小数点
if(!self.isHaveDian){
self.isHaveDian=YES;
return YES;
}else{
[SVProgressHUD showErrorWithStatus:@"提示,您已经输入过小数点了"];
[self.moneyTtextField.text stringByReplacingCharactersInRange:range withString:@""];
return NO;
}
}else{//存在小数点
if (self.isHaveDian){
//判断小数点的位数
NSRange ran=[self.moneyTtextField.text rangeOfString:@"."];
int tt=range.location-ran.location;
if (tt <=2){
return YES;
}else{
[SVProgressHUD showErrorWithStatus:@"提示,您最多输入两位小数"];
return NO;
}
}
else{
return YES;
}
}
}
return YES;
}
iOS 判断输入的字符串为格式正确的数字
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 有以下三种方法: 1、利用NSCharacterSet的stringByTrimmingCharactersInS...
- 汇总: NSScanner: NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数...
- coding:utf-8 def charcount(text):stats = {'whitespace': 0...