例如: 用户将1234,56放入TextField。
我设置了这个NSNumberFormatter:
[numberFormatter setNumberStyle:NSNumberFormatterNoStyle];
[numberFormatter setMaximumIntegerDigits:5];
[numberFormatter setMaximumFractionDigits:1];
正如你所看到的,我只想允许最大值。一个小数位。 如何将我的字符串与我的numberFormatter规则进行比较,以便我可以打开一个警告,用户的输入不正确?
谢谢迈克尔
答案 0 :(得分:1)
使用numberFormatter检查您输入的号码:
NSNumber * myNumber = [numberFormatter numberFromString:yourTextField.text];
if(myNumber)
//valid entered number
else
//invalid entered number
您应该使用UITextField的委托方法:
- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSNumberFormatter *numberFormatter = [NSNumberFormatter alloc]init]
[numberFormatter setNumberStyle:NSNumberFormatterNoStyle];
[numberFormatter setMaximumIntegerDigits:5];
[numberFormatter setMaximumFractionDigits:1];
NSNumber * myNumber = [numberFormatter numberFromString:string];
[numberFormatter release];
if(myNumber)
return YES;
else
return NO;
}