我必须验证.
例如:12.34
如果用户输入两位数以上,则不允许输入文字。
让我知道这是可以理解的还是没有
我怎么办,请任何人帮助我。
提前感谢你。
答案 0 :(得分:1)
您应该使用以下委托方法进行编码,
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSArray *sep = [string componentsSeparatedByString:@"."];
if([sep count]==2)
{
NSString *sepStr=[NSString stringWithFormat:@"%@",[sep objectAtIndex:1]];
if([sepStr length] >2)
//do whatever you want
}
}
您还可以检查是否使用了许多小数点,
if([sep count]>2)
//use only one decimal point
答案 1 :(得分:1)
我使用此代码解决了我的问题。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
NSArray *sep = [newString componentsSeparatedByString:@"."];
if([sep count]>=2)
{
NSString *sepStr=[NSString stringWithFormat:@"%@",[sep objectAtIndex:1]];
return !([sepStr length]>2);
}
return YES;
}
答案 2 :(得分:0)
检查文本字段委托中的文本有效性:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string