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