如何在Velocity模板引擎中将小数舍入到两位?

4
如何在Velocity模板引擎中将小数四舍五入到两位?
#set ($Percentage = $Marks*100/$Total)

我希望将百分比四舍五入到小数点后两位。我该如何做?

Double roundTo(Object decimals, Object num)这个方法可以实现吗?例如:

#set ($Percentage = roundTo(2, $Marks*100/$Total)),这样行吗?我需要在.vm文件中添加什么才能使其工作?

1个回答

14

使用来自VelocityTools项目的MathTool

$math.roundTo(2, $value)

记得将MathTool放入您的上下文中:context.put("math", new MathTool()) 或使用VelocityTools上下文支持,在使用工具时自动提供它们。

P.S.

不要忘记添加 velocity math 工具的Maven依赖项:

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

请详细回答我的问题。提前致谢。 - Tarun Kumar
2
如果 $value=12,它会返回 12.0,我该如何使其返回 12.00 - Val
3
那不是四舍五入,那是格式化。请查看NumberTool进行操作。 - Nathan Bubna
1
还要记得按正确的顺序使用参数。我真是费尽心思也想不明白为什么我的数字,比如123.456,会被“四舍五入”成2.0。 :) - Christopher Schultz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接