Локализуйте число с плавающей точкой и укажите количество десятичных знаков в 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

Ответы на вопрос(1)

Ваш ответ на вопрос