您的位置:首页 > 移动开发 > IOS开发

iOS中TextField限制小数点

2016-03-01 15:34 148 查看
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">
</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="objc">- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if ([string isEqualToString:@"\n"])
{
return YES;
}
if([textField.text rangeOfString:@"."].length){
if ([string isEqualToString:@"."]) {
return NO;
}
}
if ([string isEqualToString:@"."]) {
if (!textField.text.length) {
return  NO;
}
}
NSString * toBeString = [textField.text stringByReplacingCharactersInRange:range withString:string];
NSRange rangeA = [toBeString rangeOfString:@"."];
if (rangeA.length) {
NSArray * stringArr = [toBeString componentsSeparatedByString:@"."];
if ([stringArr[1] length] >=3) {
return NO;
}
}
return YES;
}



<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">
</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">以上是代码,首先需要遵守协议,且textfield的代理是当前视图控制器</span>

如果输入回车,则返回YES,

如果字符串中已经包含小数点,且此次输入为小数点,则返回NO,如果第一次就输入小数点,则为NO,拼接字符串,如果小数点后有3位,怎返回NO
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: