Я устанавливаю Locale на основе языка и региона и хочу проанализировать число BigDecimal с помощью этого параметра. Но проблема, с которой я столкнулся, заключается в том, что разделители группировок различны для обоих OpenJDK.
Ниже приведен пример кода, который я пытаюсь выполнить с помощью OpenJDK 8 и OpenJDK 11.
Locale l = new Locale.Builder().setLanguage("de").setRegion("CH").build();
System.out.println("Locale set to " + Locale.getDefault(Locale.Category.FORMAT));
DecimalFormat nf = (DecimalFormat)NumberFormat.getInstance(Locale.getDefault(Locale.Category.FORMAT));
System.out.println("Grouping Separator: " + nf.getDecimalFormatSymbols().getGroupingSeparator());
Вывод
OpenJDK 8
---------
Locale set to de_CH
Grouping Separator: '
OpenJDK 11
----------
Locale set to de_CH
Grouping Separator: ’
Мне нужен общий метод синтаксического анализа, в котором разделители группировки возвращаются одинаковыми, чтобы было легко разработать мой модульный тест, и он проходит независимо от того, работает ли он с использованием Java 8 или 11. Пожалуйста, помогите.