从5.3开始,Lua format.string不能将float格式化为十进制(%d)

Pud*_*ler 7 string string.format lua 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
Run Code Online (Sandbox Code Playgroud)

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

Yu *_*Hao 9

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

string.format

选项A,a,E,e,f,G,和g所有期望一个数字作为论据.选项c,d,i,o,u,X,并x期待一个整数.