lua math库有 向下取整函数 math.floor , 有向上取整的函数 math.ceil,但没有内置四舍五入的函数。
而我们在业务开发中,不管是向上取整还是向下取整,需要面临精度问题,如果业务复杂度高,运算过程长且复杂的话,还得统一到底是向上取整还是向下取整。这时候如果有个四舍五入的函数支持,是不是更友好点,不需要再去关心因向上取整儿带来的精度问题。
- function mathRound(num)
- if num > 0 then
- return math.floor( num + 0.5 )
- end
-
- return math.ceil( num - 0.5 )
- end
- function math.round(num)
- if num > 0 then
- return math.floor( num + 0.5 )
- end
-
- return math.ceil( num - 0.5 )
- end
-
-
- --使用举例
-
- print( math.round(1.2) )
- print( math.round(1.6) )
-
- 输出:
- 1
- 2