以美分显示价格

时间:2015-07-15 23:27:08

标签: ios in-app-purchase currency nsnumberformatter

我正在尝试使用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];

1 个答案:

答案 0 :(得分:1)

我非常确定没有简单而通用的方法来做到这一点。我认为你必须根据具体情况处理它。如果您想为国际受众群体本地化您的应用,但希望您的许多客户来自美国,您可以做我喜欢的事情:

if priceString == "$0.99" && NSLocale.currentLocale().objectForKey(NSLocaleCountryCode) as? String == "US" {
    priceString = "99¢"
}