在Apache Velocity中格式化BigDecimal

时间:2012-03-20 22:48:21

标签: java currency velocity bigdecimal

在我的力度模板中,我一直在使用Velocity NumberTool将数字变量格式化为货币。 其中大部分都是原始的双打,并且使用这个工具可以正常工作。

但是,有些类型是BigDecimal,它们似乎根本没有格式化。它只会在呈现时显示表达式:

$global.numberTool.currency($someBigDecimalVariable)

使用Velocity作为货币格式化BigDecimal是否有方便的方法?有哪些替代方案?

2 个答案:

答案 0 :(得分:1)

由于您可以将任何对象放入Velocity上下文中,最简单的方法是将您自己的DecimalFormat对象放在上下文中,并在模板中调用其format()方法。

当然,这不是一个非常好的解决方案,但您可以对其进行优化以使其更通用。

答案 1 :(得分:0)

你能在Velocity中使用JSTL吗?我使用fmt JSTL标签将BigDecimals显示为这样的货币:

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