Как мне отформатировать валюту для локали в Java - PullRequest
5 голосов
/ 19 апреля 2011

Я удивлен, что мне действительно трудно найти, как это сделать. Мне кажется, это должно быть довольно просто. Возможно, я смотрю не в том месте.

Предположим, у меня есть следующий код:

double amount = 123.45D; //yes, I know that I should be using longs
Locale uk = Locale.UK;
Locale fr = Locale.FR;
Currency euro = Currency.getInstance("EUR");

Как мне получить экземпляры NumberFormat, которые позволяют мне распечатать значение 123.45, правильно отформатированное для Locale? т.е. я хочу следующее для Великобритании и Франции соответственно:

€123.45
123,45 €

Я не могу использовать NumberFormat.getCurrencyInstance(Locale), так как это отформатирует британский формат как Sterling (£). Я ищу NumberFormat.getCurrencyInstance(Locale, Currency), но этого, похоже, не существует.

Есть идеи?

1 Ответ

4 голосов
/ 19 апреля 2011

Используйте NumberFormat.setCurrency(), чтобы изменить валюту, используемую для определенного NumberFormat, приобретенного через NumberFormat.getCurrencyInstance(Locale).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...