如何在速度模板中格式化数字?

2022-09-02 23:03:55

我在速度模板中得到了一个java对象。该对象有一个双精度值,我想将其格式化为2位小数,并将其显示在我的模板中。

im 获取对象的类如下所示

Class Price
{
double value;
String currency;
}

在我的速度模板中,im得到这样的值

$price.value

但我需要在显示之前将其格式化为2个小数位。

我想转换

23.59004 到 23.59

35.7 至 35.70

3.0 到 3.00

9 至 9.00

请告诉我如何在速度模板中做到这一点?我搜索了很多,发现我可以使用速度工具,但没有与之相关的示例?我可以在模板中使用速度工具吗?


答案 1

速度工具预计将用于速度模板;本质上,它们是添加到模板中可用变量的对象,以便您可以使用或类似对象。如果没有可用的工具不符合您的需求,只需创建一个POJO并将其添加到模板中即可。$numberTool.format("#0.00", $val)

要使其正常工作,您还应该添加以下 maven 依赖项:

<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-tools</artifactId>
    <version>2.0</version>
</dependency>

并编写以下代码:

context.put("numberTool", new NumberTool());

答案 2
#set($String = "abc")
$String.format("%.2f", $val)

$val在这种情况下必须是双倍或浮动...


推荐