2010-03-08 3 views
3

Я использую fmt: formatNumber для форматирования валюты в JSTL, она отображает отрицательную валюту в ($ 100) формате, как мне отображать отрицательную валюту в отрицательный формат вместо ($ 100)?

спасибо очень много,

Сью

ответ

2

Я хотел бы предложить: <fmt:formatNumber type="currency" pattern="$#,##0.00;-$#,##0.00" value="-10000" />

Вы можете удалить '$' из шаблона, если вам нравится.

+1

Проблема с этим решением является то, что он всегда будет отображать '$' как CURRENCYSYMBOL. Если вы пытаетесь отобразить валюту, она не будет работать. – Neuquino

+0

ну, вы можете использовать pattern = "#, ## 0.00; - #, ## 0.00" это не отображает символ $ – andyCao

1

Просто добавьте, если u использует тип как curreny, тогда требуется валютный кодекс, иначе отображается случайный символ. Если и не хотите использовать CurrencyCode [будет ldisplay, что каждый у уточнили в currecyCode], а затем использовать шаблон, как

<fmt:formatNumber type="currency" pattern="#,##0.00;" value="-10000" /> 
11

Если вы используете атрибут шаблона и вы хотите, чтобы отобразить символ валюты, то вы необходимо добавить держателя символа валюты (¤) к самому шаблону. ¤ будет заменен заданным значением валютыSymbol.

В примере я показываю два формата в атрибуте pattern. Один для положительных значений и один для отрицательных значений. Они разделены точкой с запятой ';'. Оба используют держатель места для валютыSymbol.

Пример:

<fmt:formatNumber value="-10000" type="currency" currencySymbol="$" pattern="¤ #,##0.00;¤ -#,##0.00"/> 
Смежные вопросы