unity实战 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)

你可能感兴趣的:(Unity,保留小数位,lua)