所以一部分代码看起来像
- (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 美元。有人知道我做错了什么吗?