【发布时间】:2015-04-17 23:55:40
【问题描述】:
我试图在每 3 个字符后添加一个小数。 (像这样倒数:1,325,541 而不是 1325451。)
这是我尝试过的:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSNumberFormatter *numberFormat = [[NSNumberFormatter alloc] init];
[numberFormat setGroupingSeparator:@","];
[numberFormat setGroupingSize:3];
[numberFormat setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *amount = [numberFormat numberFromString:textField.text];
textField.text = [numberFormat stringFromNumber:amount];
return YES;
}
它不会在每 3 个字符后插入逗号。我能做些什么来解决它?
【问题讨论】:
-
您正在以
should*方法访问 textField.text,即在用户最近的更改更新之前。 -
@bgfriend0 这是正确的,你应该把它写成解决方案的答案。
-
对不起,写得很快,不得不运行。 ;) 看起来 Luis 已经处理好了。
标签: ios objective-c uitextfield nsnumberformatter