如何在Velocity模板引擎中将十进制数舍入到2位?

Tar*_*mar 2 velocity

如何在Velocity模板引擎中将十进制数舍入到2位?

#set ($Percentage = $Marks*100/$Total)
Run Code Online (Sandbox Code Playgroud)

我想将百分比四舍五入到小数点后两位.我怎样才能做到这一点?

Double roundTo(Object decimals, Object num)这会有用吗?即

#set ($Percentage = roundTo(2, $Marks*100/$Total))工作吗?我是否必须在.vm文件中包含任何内容才能使其正常工作?

Nat*_*bna 9

使用VelocityTools项目中的MathTool.

$math.roundTo(2, $value)
Run Code Online (Sandbox Code Playgroud)

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

PS

不要忘记为速度数学工具添加maven依赖项

<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-tools</artifactId>
    <version>2.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

  • 如果`$value=12`它返回`12.0`,我该如何让它返回`12.00`? (2认同)
  • 这不是四舍五入,那就是格式化.看看NumberTool. (2认同)