以美分显示价格
Displaying price in cents
我正在尝试使用 NSNumberFormatter 和区域设置以美分 (99¢
) 而不是美元 ([=12=].99
) 显示价格。
此代码将 99 美分的价格转换为字符串:[=12=].99
。有没有办法让 NSNumberFormatter 在可能的情况下尝试使用 smaller/cent 面额?
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setLocale:product.priceLocale];
NSString *formattedPriceString = [numberFormatter stringFromNumber:product.price];
我很确定没有简单且 general-purpose 的方法可以做到这一点。我认为你只需要在 case-by-case 的基础上处理它。如果您想为国际用户本地化您的应用程序,但希望您的许多客户来自美国,您可以像我那样做:
if priceString == "[=10=].99" && NSLocale.currentLocale().objectForKey(NSLocaleCountryCode) as? String == "US" {
priceString = "99¢"
}
我正在尝试使用 NSNumberFormatter 和区域设置以美分 (99¢
) 而不是美元 ([=12=].99
) 显示价格。
此代码将 99 美分的价格转换为字符串:[=12=].99
。有没有办法让 NSNumberFormatter 在可能的情况下尝试使用 smaller/cent 面额?
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setLocale:product.priceLocale];
NSString *formattedPriceString = [numberFormatter stringFromNumber:product.price];
我很确定没有简单且 general-purpose 的方法可以做到这一点。我认为你只需要在 case-by-case 的基础上处理它。如果您想为国际用户本地化您的应用程序,但希望您的许多客户来自美国,您可以像我那样做:
if priceString == "[=10=].99" && NSLocale.currentLocale().objectForKey(NSLocaleCountryCode) as? String == "US" {
priceString = "99¢"
}