不带MathTools的Apache velocity Round或Ceil

不带MathTools的Apache velocity Round或Ceil,math,velocity,Math,Velocity,在第三方应用程序中使用Apache velocity。不能使用MathTools。我想把x/8的值四舍五入 1/8 = 1 8/8 = 1 9/8 = 2 16/8 = 2 19/8 = 3 等 我能在velocity内部使用的是模%和基本*/+-大多数在线答案都有强制转换,我不能使用这两种方法这不是velocity特有的,这是整数算术。无论如何,您可以通过在分割之前添加7来模拟Ceil,并根据剩余部分选择地板或天花板进行取整 #set($ceil = ($n + 7) / 8) #set(

在第三方应用程序中使用Apache velocity。不能使用MathTools。我想把x/8的值四舍五入

1/8 = 1
8/8 = 1
9/8 = 2
16/8 = 2
19/8 = 3


我能在velocity内部使用的是模
%
和基本
*/+-
大多数在线答案都有强制转换,我不能使用这两种方法

这不是velocity特有的,这是整数算术。无论如何,您可以通过在分割之前添加7来模拟Ceil,并根据剩余部分选择地板或天花板进行取整

#set($ceil = ($n + 7) / 8)

#set($round = $n / 8)
#if($n % 8 > 4) #set($round = $round + 1) #end

这并不是速度的问题,这是整数运算。无论如何,您可以通过在分割之前添加7来模拟Ceil,并根据剩余部分选择地板或天花板进行取整

#set($ceil = ($n + 7) / 8)

#set($round = $n / 8)
#if($n % 8 > 4) #set($round = $round + 1) #end

不要在velocity上强制转换,但您可以创建一个实用程序类并传递给模板以执行任务?不要在velocity上强制转换,但您可以创建一个实用程序类并传递给模板以执行任务?