使用NSNumberFormatter更改美元

时间:2014-03-07 18:22:38

标签: ios objective-c nsnumberformatter

in Itunes $ 0.99 == Rp9500

我想这样表现出来:

美国地区:0.99美元  并为印度尼西亚地区Rp9500

如何将美元兑换成IDR?

这是我的代码。

NSNumberFormatter *priceFormatter = [[NSNumberFormatter alloc] init];
[priceFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[priceFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[priceFormatter setLocale:[NSLocale currentLocale]];
[_priceFormatter stringFromNumber:@(0.99)]

上面代码的结果是:

美国地区0.99美元

对于印度尼西亚地区Rp 1(我不明白,为什么它变成1而不是9500)

非常感谢,我很抱歉我的英语不好

2 个答案:

答案 0 :(得分:1)

NSNumberFormetter正如它的名字所暗示的那样 - 给出一个数字格式(产生它的文本表示)。该类不会在不同单位之间转换数字,在您的情况下为两种货币。要进行转换,您需要查找转换率并自行进行乘法。

答案 1 :(得分:0)

格式化程序不会根据汇率计算。所以它以0.99为Rp,你似乎没有小数位,所以它将它四舍五入到最接近的数字。

您需要根据汇率转换0.99的值。

如果此值作为IAP从应用商店发出,那么转换将为您完成

SKProduct