我最近从Lua 5.2.3升级到5.3.1,但我注意到我所有执行string.format
的脚本开始失败,如果它试图使用%d
格式化float
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
这是故意的吗?
在Lua 5.3中,number
类型有两个子类型,integer
和float
。
From string.format
选项
A
、a
、E
、e
、f
、G
和g
都需要一个数字作为参数。选项c
、d
、i
、o
、u
、X
、x
需要整数