在我的力度模板中,我一直在使用Velocity NumberTool将数字变量格式化为货币。 其中大部分都是原始的双打,并且使用这个工具可以正常工作。
但是,有些类型是BigDecimal,它们似乎根本没有格式化。它只会在呈现时显示表达式:
$global.numberTool.currency($someBigDecimalVariable)
使用Velocity作为货币格式化BigDecimal是否有方便的方法?有哪些替代方案?
答案 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"/>