Как локализовать числа с помощью DateTimeFormatter?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как локализовать числа с помощью DateTimeFormatter?

Сообщение Anonymous »

Класс java.time.format.DateTimeFormatter работает неправильно для языков, в которых для представления чисел используются разные символы.
В таких языках, как персидский (также называемый фарси), для представления чисел используются разные символы и символы Юникода:

Персидские цифры: ۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹

Западные цифры: 0 1 2 3 4 5 6 7 8 9
Например:

Код: Выделить всё

Locale myLocale = Locale.forLanguageTag("fa");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy", myLocale);
formatter.format(LocalDate.now()); // should return "۲۰۲۰" but returns "2020"
Я должен сказать, что класс DateFormat, который используется для форматирования устаревших дат Java, работает должным образом.
Связано: В чем разница между withLocale() и localizedBy() в Java DateTimeFormatter?

Подробнее здесь: https://stackoverflow.com/questions/624 ... eformatter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»