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

 找回密码
 新人加入
查看: 3712|回复: 0
打印 上一主题 下一主题

【Aegisub相关】Lua 保留指定小数位数 [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2021-6-28 00:17:24 |只看该作者 |倒序浏览
本帖最后由 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))!}
复制代码

您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-12-4 17:02

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH