Локализуйте число с плавающей запятой и укажите количество знаков после запятой в iOS

У меня есть поплавок, который я хотел бы отобразить до одного десятичного знака. Например. 104.8135674... будет отображаться как 104.8 на английском языке. Обычно я использовал:

myString = [NSString stringWithFormat:@"%.1f",myFloat];

Однако я хотел локализовать номер, поэтому попытался:

myString = [NSString localizedStringWithFormat:@"%.1f",myFloat];

Это работает для назначения правильного десятичного символа (, например.

Английский :104,8

немецкий :104,8

Однако для языков, которые используют не используют арабские цифры(0123456789 ), используется правильный десятичный знак, но числа по-прежнему представлены арабскими цифрами. например.

Бахрейн -Арабский :104,8 (следует использовать другие символы для чисел)

Так что я попробовал:

myString = [NSNumberFormatter localizedStringFromNumber:[NSNumber numberWithFloat:myFloat] numberStyle:kCFNumberFormatterDecimalStyle];

Но при этом я не могу указать количество десятичных знаков. Это дает, например.

Английский :104.813

5
задан mskfisher 16 July 2012 в 17:04
поделиться