默认会四舍五入

  • 比如:%0.2f 会四舍五入后,保留小数点后2位
print(string.format("%.1f",0.26)) 
---会输出0.3,而不是0.2

Lua保留一位小数

--- nNum 源数字
--- n 小数位数
function Tool. GetPreciseDecimal(nNum, n)
    if type(nNum) ~= "number" then
        return nNum;
    end
    n = n or 0;
    n = math.floor(n)
    if n < 0 then
        n = 0;
    end
    local nDecimal = 10 ^ n
    local nTemp = math.floor(nNum * nDecimal);
    local nRet = nTemp / nDecimal;
    return nRet;
end