fmt: formatNumber отображать отрицательную валюту в формате - $ xxx.xx в формате JSTL - PullRequest
3 голосов
/ 08 марта 2010

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

большое спасибо

иск

Ответы [ 3 ]

11 голосов
/ 16 января 2012

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

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

Пример:

<fmt:formatNumber value="-10000" type="currency" currencySymbol="$" pattern="¤ #,##0.00;¤ -#,##0.00"/>
2 голосов
/ 08 марта 2010

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

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

1 голос
/ 14 апреля 2011

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

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