我想在Lua中使用math.ceil来取整数字。
其中某些情况是有道理的:
但是有些情况很奇怪:
我不知道为什么会这样,如果要在小数点后有数字的情况下将数字四舍五入,而只有整数则不能四舍五入怎么办?
-更新: 感谢@cyclaminist的回答: 2.2 * 100实际上比220.0稍大一点,因为2.2不能完全表示为浮点数。试试('%.15f'):format(2.2 * 100):对我来说,它是'220.000000000000028'
Ceil将返回最接近且不小于220.000000000000028的整数,以便返回221。
获得220的解决方案是: math.floor(2.2 * 100 + 0.5)->返回220,因为math.floor返回最接近但不大于220.000000000000028
答案 0 :(得分:0)
尝试tonumber(string.format("%.0f",2.2*100))
。