Настройка локали переопределения Java для конкретной локали
м используюNumberFormat.getCurrencyInstance().format(amount)
отформатировать валюту из BigDecimal в строку. Это работает, как и ожидалось, проблема в том, что наша основная цель - голландский рынок, а форматирование голландцев по умолчанию странное.
Позвольте мне объяснить, при форматировании -125 я получаю "€ 125-» для голландцев (ожидаемый был "- €125"). Великобритания работает как положено, давая "- £125,50" .
Я мог бы проверить, является ли языковой стандарт голландским, и затем предоставлять шаблон каждый раз, когда я хочу отформатировать десятичные дроби. Но я бы предпочел решение, которое отменяет настройки форматирования голландцев. Я думал о чем-то вроде следующего:
Locale nlLocale = new Locale("nl", "NL");
NumberFormat.getCurrencyInstance(new Locale("nl", "NL")).setFormatPattern("€ #");
Так что каждый раз, когда я использую голландский язык при форматировании, я получаю свой собственный формат. Существует ли подобное решение?