需求描述:
策划需求角色面板屬性顯示一定的小數位,
比如:攻擊速度顯示保留小數點后兩位,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)