Я делаю все возможное, чтобы найти способ форматировать иностранные валюты в разных локалях, которые не используются по умолчанию для этой валюты, используя Java. Я нашел java.util.Currency, который может представлять собой правильный символ для использования в разных локалях. То есть, для доллара США, он предоставляет мне символ $в США и доллары США или доллары США в других странах. Кроме того, я нашел java.text.NumberFormat, который будет форматировать валюту для определенной локали. Моя проблема - util.Currency предоставит правильные символы и коды для отображения валют в своих нестандартных локалях, но не будет форматировать валюту по любому языковому признаку. NumberFormat предполагает, что число, которое я передаю, с языковым курсом, является валютой этого региона, а не иностранной валютой.
Например, если я использую getCurrencyInstance (Locale.GERMANY), а затем формат (1000), он предполагает, что я форматирую 1000 евро. На самом деле мне может понадобиться правильное представление на немецком языке (правильный десятичный разделитель и разделитель тысяч, будь то символ до или после суммы) для доллара США, или йены или любой другой валюты. Лучшее, что мне удалось получить до сих пор, - это форматирование числа с помощью NumberFormat, а затем поиск вывода для нецифровых символов и замена их символами, полученными из util.Currency. Однако это очень хрупкое и, вероятно, недостаточно надежное для моих целей. Идеи? Буду признателен за любую оказанную помощь.