我正在尝试使用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];
答案 0 :(得分:1)
我非常确定没有简单而通用的方法来做到这一点。我认为你必须根据具体情况处理它。如果您想为国际受众群体本地化您的应用,但希望您的许多客户来自美国,您可以做我喜欢的事情:
if priceString == "$0.99" && NSLocale.currentLocale().objectForKey(NSLocaleCountryCode) as? String == "US" {
priceString = "99¢"
}