В моем приложении для iOS отображаются разные валюты (USD, JPY, AUD, EUR) в разных локализациях (en_US
, en_AU
, ja_JP
и т. д.).
Для японского региона/языка (оба установлены на моем устройстве), если у меня есть:
NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
fmt.numberStyle = NSNumberFormatterCurrencyStyle;
fmt.currencyCode = @"JPY";
NSString *labelText = [fmt stringFromNumber:@1000000];
Текст моей метки ¥1,000,000
. Однако в японском и китайском языках числа больше 10 000 могут быть записаны как 100万円
, что мне и нужно.
Есть идеи, какой код я могу написать, чтобы получить 100万円
в качестве вывода?
Я хотел бы избежать логических блоков в моем коде, проверяющем локаль/регион, но мне кажется, что я сталкиваюсь с этим (например, используя вызов метода fmt.multipler = @(1/10000)
для деления 1 000 000 на 10 000, чтобы получить правильное значение).