我正在使用以下 NSNumberFormatter 在货币值中添加逗号和符号。
self.currencyFormatter = [NSNumberFormatter new];
self.currencyFormatter.numberStyle = NSNumberFormatterCurrencyStyle;
self.currencyFormatter.currencySymbol = @"£";
self.currencyFormatter.currencyCode = @"GBP";
self.currencyFormatter.roundingMode = NSNumberFormatterRoundHalfUp;
self.currencyFormatter.maximumFractionDigits = 0;
用法:
self.principleAmountTextField.text = [self.currencyFormatter stringFromNumber:[NSNumber numberWithInteger:100000]];
这显示了预期的 100,000 英镑。现在,如果我在文本字段中再插入两个数字(文本变为 100,00096 英镑)并尝试将字符串转换为整数,我得到 0!基本上下面的行返回 0。我不知道如何处理这个问题。
NSLog(@"%d", [[self.currencyFormatter numberFromString:@"£100,00096"] integerValue]);
仅供参考,我对文本字段有自定义输入视图,它只允许数字输入文本字段。在 Did Edit End 中,即使我格式化数字并用逗号显示。