【发布时间】:2014-03-11 23:59:38
【问题描述】:
所以部分代码看起来像
- (void)textFieldDidEndEditing:(UITextField *)textField
{
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
NSNumber *currency = [NSNumber numberWithDouble:[self.SalesAmounttext.text doubleValue]];
self.SalesAmounttext.text = [formatter stringFromNumber:currency];
}
上面的代码意味着如果我在文本字段中输入 499,文本将被转换为 $499.00。如果我清除整个文本字段,然后重新输入另一个数字,比如 599,文本将转换为 $599.00。这些都是正确和预期的行为。
但是,如果我碰巧将 599.00 美元退格到仅 5 美元或 5 美元,然后输入一个新数字(例如 509)并离开文本字段,我的文本字段输出将变为 0.00 美元。有人知道我在做什么错吗?
【问题讨论】:
标签: ios nsstring uitextfield nsnumberformatter currency-formatting