Seekladoom 发表于 2021-6-28 00:20:15

【Aegisub相关】Lua 保留指定小数位数

来源:https://blog.csdn.net/weixin_34049032/article/details/93382609


默认会四舍五入
比如:%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

补充一个Aegisub里面保留一位小数的使用示例:
Comment: 0,0:00:00.00,0:00:05.00,Default,,0,0,0,template noblank notext,{\an5\move(!string.format("%.1f",$sleft+$swidth*j/maxj+math.random(1,10))!}


页: [1]
查看完整版本: 【Aegisub相关】Lua 保留指定小数位数