【发布时间】:2012-10-29 10:14:21
【问题描述】:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
if (string.length == 0) {
return YES;
}
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber* candidateNumber;
NSString* candidateString = [textField.text stringByReplacingCharactersInRange:range withString:string];
range = NSMakeRange(0, [candidateString length]);
[numberFormatter getObjectValue:&candidateNumber forString:candidateString range:&range error:nil];
if (([candidateString length] > 0) && (candidateNumber == nil || range.length < [candidateString length])) {
return NO;
}
else
{
return YES;
}
嗨,使用此代码,我只能在文本字段中插入十进制值。 小数点分隔符是逗号“,” 如何将其更改为点“。” ?
谢谢
【问题讨论】:
-
[NSNumberFormatter setFormat]不是你想要的吗?
标签: objective-c nsnumber number-formatting nsnumberformatter uitextfielddelegate