我试图使用NSNumberFormatter和语言环境以美分(99¢
)代替美元($0.99
)显示价格。
此代码将价格为99美分的字符串转换为$0.99
。有没有办法让NSNumberFormatter在可能的情况下尝试使用较小/分的面额?
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setLocale:product.priceLocale];
NSString *formattedPriceString = [numberFormatter stringFromNumber:product.price];
最佳答案
我敢肯定,没有简单而通用的方法可以做到这一点。我认为您只需要逐案处理。如果您想为国际用户本地化您的应用程序,但是希望您的许多客户来自美国,则可以执行类似我的操作:
if priceString == "$0.99" && NSLocale.currentLocale().objectForKey(NSLocaleCountryCode) as? String == "US" {
priceString = "99¢"
}
关于ios - 以美分显示价格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31442936/