Символы десятичного формата Java не подходят для Лихтенштейна

Разделитель группировки в java.text.DecimalFormatSymbols определен неправильно для страны Лихтенштейн. Он определяется как точка (.), но должен быть определен как цитата ('). Определение Лихтенштейна должно быть таким же, как в Швейцарии. Я использовал следующий тест с Oracle Java 1.8:

public static void main(String[] args) {
    // Locale for Liechtenstein: Language DE and country li
    Locale li = new Locale("DE", "li");
    DecimalFormatSymbols li_symbols = new DecimalFormatSymbols(li);
    System.out.println("LI Grouping symbol is: " + li_symbols.getGroupingSeparator());

    // Locale for Switzerland: Language DE and country ch
    Locale ch = new Locale("DE", "ch");
    DecimalFormatSymbols ch_symbols = new DecimalFormatSymbols(ch);
    System.out.println("CH Grouping symbol is: " + ch_symbols.getGroupingSeparator());
}

Он распечатает

LI Grouping symbol is: .
CH Grouping symbol is: '

Есть ли способ исправить это для всей установки java? Изменение языкового стандарта или десятичных символов в каждом месте кода, где десятичный формат используется для форматирования или анализа чисел, здесь не вариант.

Можно ли было бы использовать швейцарский формат? Это не решает проблему, но я не понимаю, почему так было бы неправильно. (Я не имею в виду, что Швейцария намного лучше, чем Лихтенштейн ... хотя ... (я, очевидно, шучу))

Lutzi 25.05.2018 11:34

В Java 9 все нормально. Это альтернатива?

Ralf Renz 25.05.2018 11:48
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
85
0

Другие вопросы по теме