【问题标题】:NSNumber being returned as null when formatted using NSNumberFormatterCurrencyStyle使用 NSNumberFormatterCurrencyStyle 格式化时,NSNumber 返回为 null
【发布时间】:2014-05-25 02:07:31
【问题描述】:

我有一个文本字段,我想将值作为 NSNumber 接收,但是当数据进入表视图时,它返回为 null。这是我的代码:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
NSNumber *numberPrice = [numberFormatter numberFromString: self.itemPriceTextField.text];
self.listItem.itemPrice = numberPrice;
self.listItem.itemDesc = [NSString stringWithFormat:@"%@", numberPrice];

文本字段中没有货币符号,只是用户输入的常规整数(例如:12、52 或 35)

感谢任何帮助,谢谢!

【问题讨论】:

  • self.itemPriceTextField.text 里面的文字是什么?
  • 所有数字,我把键盘限制在小键盘上
  • 文本是否有货币符号?你设置了currencyCode吗?你试过 NSNumberFormatterDecimalStyle 吗?
  • 您要转换的文本的实际值是多少?如果没有这些信息,这个问题就毫无意义,值得被否决和关闭。
  • @HotLicks:请记住,新用户在第一次发帖时应该受到欢迎和帮助。

标签: objective-c nsnumber nsnumberformatter


【解决方案1】:

如果您使用数字样式NSNumberFormatterCurrencyStyle,那么您的输入应该有一个货币符号。尝试将NSNumberFormatterDecimalStyle 用于不带货币符号的数字。

【讨论】:

  • 谢谢,迈克!出于某种原因,我认为货币样式会在整数后自动添加 .00
猜你喜欢
  • 1970-01-01
  • 2012-05-09
  • 1970-01-01
  • 2015-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多