Я использую fmt:formatNumber для форматирования валюты в JSTL, она будет отображать отрицательную валюту в формате (100 долларов США), как мне заставить ее отображать отрицательную валюту в отрицательном формате вместо (100 долларов США)?
Спасибо большое,
Сью
Ответ 1 · рейтинг 3 · JGaudette
Я бы предложил: <fmt:formatNumber type="currency" pattern="$#,##0.00;-$#,##0.00" value="-10000" />
Вы можете удалить '$' из шаблона, если хотите.
Ответ 2 · рейтинг 12 · Merlin
Если вы используете атрибут шаблона и хотите отобразить символ валюты, вам необходимо добавить заполнитель символа валюты ( ¤ ) к самому шаблону. ¤ будет заменено заданным значением currencySymbol.
В примере я показываю два формата в атрибуте шаблона. Один для положительных значений и один для отрицательных значений. Они разделяются точкой с запятой ';'. Оба используют заполнитель для currencySymbol.
Пример:
<fmt:formatNumber value="-10000" type="currency" currencySymbol="$" pattern="¤ #,##0.00;¤ -#,##0.00"/>
Ответ 3 · рейтинг 2 · Roopak
Просто добавьте, что если вы используете тип как валюту, тогда требуется currencyCode, иначе отображается какой-то случайный символ. Если вы не хотите использовать валютный код [он будет отображать то, что каждый из вас указал в валютном коде], используйте шаблон, например
<fmt:formatNumber type="currency" pattern="#,##0.00;" value="-10000" />