繁体   English   中英

在Apache Velocity中格式化BigDecimal

[英]Formatting a BigDecimal in Apache Velocity

在我的速度模板中,我一直在使用Velocity NumberTool将数字变量格式化为货币。 其中大多数都是原始的double,因此可以使用此工具正常工作。

但是,有些是BigDecimal类型的,它们似乎根本没有格式化。 它只会在渲染时按原样显示表达式:

$global.numberTool.currency($someBigDecimalVariable)

是否有一种方便的方法来将Velocity格式的BigDecimal设置为货币? 有哪些选择?

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

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

您可以在Velocity中使用JSTL吗? 我使用fmt JSTL标签将BigDecimals显示为一种货币,如下所示:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM