我在自定义UITableViewCell子类上有以下方法:
- (void)setPrice:(NSNumber *)price {
_price = price;
NSNumberFormatter *formatter = [NSNumberFormatter new];
formatter.formatterBehavior = NSNumberFormatterCurrencyStyle;
formatter.currencyCode = @"USD";
formatter.locale = [NSLocale currentLocale];
priceLabel.text = [formatter stringFromNumber:_price];
}
priceLabel
最终显示_price
而没有货币符号($)。据我所知,这不应该发生。有什么想法吗?
谢谢!
答案 0 :(得分:3)
改变这个:
formatter.formatterBehavior = NSNumberFormatterCurrencyStyle;
为:
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
答案 1 :(得分:2)
查看常量NSNumberFormatterCurrencyStyle
? Objective-C没有对枚举进行类型检查,但您可以从名称中看到它与NSNumberFormatterStyle有关。
formatterBehavior
需要NSNumberFormatterBehavior
,类似于NSNumberFormatterBehaviorDefault
。
您想要设置numberStyle
:
formatter.numberStyle = NSNumberFormatterCurrencyStyle;