从5.3

时间:2015-07-23 02:17:55

标签: string lua string.format lua-5.3

我最近从Lua 5.2.3升级到5.3.1但是我注意到,如果我尝试使用string.format格式化float,那么执行%d的所有脚本都会失败

local anExampleString = string.format("Sample Number: %d",10.100000001) -- Fails on 5.3.1, works on 5.2.3
local aWorkingString  = string.format("Sample Number: %.0f",10.100000001) -- Works on 5.3.1

这是设计的吗?我似乎无法在任何地方找到变更记录。

1 个答案:

答案 0 :(得分:9)

在Lua 5.3中,number类型有两种子类型integerfloat

来自string.format

  

选项AaEefGg都需要一个数字作为论点。选项cdiouXx需要一个整数。