Ios 以美分显示价格

Ios 以美分显示价格,ios,in-app-purchase,currency,nsnumberformatter,Ios,In App Purchase,Currency,Nsnumberformatter,我正在尝试使用NSNumberFormatter和区域设置以美分(99×)而不是美元($0.99)显示价格 此代码将99美分的价格转换为字符串:$0.99。有没有办法让NSNumberFormatter在可能的情况下尝试使用更小/美分的面额 NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; [numberFormatter setFormatterBehavior:NSNumberForm

我正在尝试使用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¢"
}

我不知道您想做什么,您已经将金额从
$
转换为
您是否尝试使用[numberFormatter Set乘数:@100]@Aladin我正在尝试本地化我从苹果收到的IAP定价信息,因此我不能假设我知道我收到的货币。@Steve我不能假设本地化货币是如何工作的:/I认为你是对的,这是一个有用的解决方案:)