我目前正在使用此函数进行舍入:
function round(val, decimal)
if (decimal) then
return math.floor( (val * 10^decimal) + 0.5) / (10^decimal)
else
return math.floor(val+0.5)
end
end
该函数完美运行,只是当一个数字落在 0.5 上时,例如 5.5 或 1000.5 或 7.5 我需要它向下舍入而不是向上舍入。为了实现这一点,我必须对函数进行哪些更改?
最佳答案
function round(val, decimal)
local exp = decimal and 10^decimal or 1
return math.ceil(val * exp - 0.5) / exp
end
关于lua - 如何让小数四舍五入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16035944/