2014-03-07 4 views
0

в Itunes $ 0.99 == Rp9500Изменить Доллары с NSNumberFormatter

Я хочу, чтобы показать, как эти:

для США региона: $ 0,99 и для Индонезии области Rp9500

как конвертировать USD на 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)

большое спасибо, прошу прощения за мой плохой английский

ответ

1

NSNumberFormetter делает именно то, что подразумевается под его именем - с учетом номера форматов (создает текстовое представление). Класс не конвертировать номера между различными единицами, двумя валютами в вашем случае. Чтобы выполнить преобразование, вам нужно найти коэффициент конверсии и самостоятельно выполнить умножение.

0

Форматтерм не рассчитывается исходя из обменных курсов. Таким образом, взяв 0.99 в качестве Rp, у вас нет десятичных знаков, чтобы округлить его до ближайшей цифры.

Вам нужно будет преобразовать значение 0.99 исходя из обменного курса.

Если это значение приходит из магазина приложений как IAP то преобразование уже будет происходить для вас

SKProduct

+0

привет, спасибо за ваш ответ Я последовал за учебник, и автор, наконец, ответ это только работа для покупок в приложении. сейчас я вижу, почему это не работает. Прошу прощения за этот глупый вопрос – taylorSWIFT