Форматирование BigDecimal в Apache Velocity - PullRequest
2 голосов
/ 21 марта 2012

В моих шаблонах скорости я использовал Velocity NumberTool для форматирования числовых переменных в качестве валюты. Большинство из них - примитивные двойники, и они отлично работают с этим инструментом.

Однако некоторые из них имеют тип BigDecimal и, похоже, они вообще не отформатированы. Он просто покажет выражение как есть при рендеринге:

$global.numberTool.currency($someBigDecimalVariable)

Есть ли удобный способ отформатировать BigDecimal с Velocity в качестве валюты? Какие есть альтернативы?

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Поскольку вы можете поместить любой объект в контекст Velocity, самое простое, что вы можете сделать, это поместить свой собственный объект DecimalFormat в свой контекст и вызвать его метод format() в шаблоне.

Конечно, это не очень хорошее решение, но вы можете улучшить его, чтобы сделать его более общим.

0 голосов
/ 21 марта 2012

Можете ли вы использовать JSTL в Velocity?Я использовал fmt JSTL-теги для отображения BigDecimals как валюты:

<fmt:formatNumber value="${myBigDecimalValue}" type="currency" currencySymbol="€" currencyCode="EUR" minFractionDigits="2" maxFractionDigits="2"/>

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