Почему локаль символа валюты formatNumber в jstl специфична при настройке currencyCode

Я использую formatNumber следующим образом:

<fmt:formatNumber value="${amount}" type="currency" currencyCode="${currencyCode}" var="amt" />

Если я нахожусь в локали en_US и код валюты EUR, я получаюEUR как символ, но если я нахожусь в локали en_GB, я получаю, Почему язык учитывается? Евро не всегда должен конвертироваться в? Есть ли способ получить поведение, которое я ожидаю использоватьformatNumber?

 jahroy10 июл. 2012 г., 21:06
Просто изменил мой ответ ...
 Josh10 июл. 2012 г., 20:51
@jahroy, который изменил бы переводы текста и форматирование числа, ни один из которых не желателен.
 jahroy10 июл. 2012 г., 21:05
Документация предполагает, что вы можете установитьcurrencySymbol на все, что вы хотите:tutorialspoint.com/jsp/jstl_format_formatnumber_tag.htm

Ответы на вопрос(1)

Решение Вопроса

поэтому вывод имеет смысл для пользователя.

Как глупый американец (который живет в локали en_US), я понятия не имею, что означает этот забавный символ.

EUR имеет смысл для меня.

быстрый Google предлагает вам установитьcurrencySymbol приписать к тому, что вы хотите:

<fmt:formatNumber value="${amount}" type="currency" currencySymbol="FOO" currencyCode="${currencyCode}" var="amt" />
 Josh10 июл. 2012 г., 21:20
Да, причина, по которой мне это не нравится, заключается в том, что мне приходится придумывать свой собственный код валюты для сопоставления символов валюты. Я действительно надеялся, что formatNumber просто выяснит это для меня автоматически. Что он делает, но только в «правильном» локали.

Ваш ответ на вопрос