TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua

标题: 【Aegisub相关】Lua 保留指定小数位数 [打印本页]

作者: Seekladoom    时间: 2021-6-28 00:17:24     标题: 【Aegisub相关】Lua 保留指定小数位数

本帖最后由 Seekladoom 于 2021-6-28 00:17 编辑

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


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

Lua保留一位小数

  1. --- nNum 源数字
  2. --- n 小数位数
  3. function Tool. GetPreciseDecimal(nNum, n)
  4.     if type(nNum) ~= "number" then
  5.         return nNum;
  6.     end
  7.     n = n or 0;
  8.     n = math.floor(n)
  9.     if n < 0 then
  10.         n = 0;
  11.     end
  12.     local nDecimal = 10 ^ n
  13.     local nTemp = math.floor(nNum * nDecimal);
  14.     local nRet = nTemp / nDecimal;
  15.     return nRet;
  16. end
复制代码


补充一个Aegisub里面
保留一位小数的使用示例:

  1. 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))!}
复制代码






欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://tcax.org/) Powered by Discuz! X2