lua 实现策划需要保留的小数位数
需求描述:
策划需求角色面板属性显示一定的小数位,
比如:攻击速度显示保留小数点后两位,0.01
保留小数实现方案:
1)字符串方式
local x = 12345.6789
string.format("%.2f", x) -- 验证发现尾数是四舍五入,结果是12345.68
string.format("%.0f", x) -- 这样也可以取整,四舍五入,结果是12346
string.format("%d", x) -- 整数部分不会四舍五入,结果是12345
2)数字方式
local x = 12345.12345
print(x%1, x%0.1, x%0.01, x%0.001, x%0.0001, x - x%0.0001)
结果输出是:0.12346000..., 0.023460000...,0.00345999....., 0.00046000000...,0.00006..., 12345.1234 -- 验证发现尾数是直接截取的,并没有四舍五入效果
3)lua库接口:
local x = 12345.678
math.ceil(x) -- 向上取整,小数不为0整数加1,结果为12346
如果想实现四舍五入,使用+0.5向下取整:math.floor(x+0.5)