7

我最近从 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

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

4

1 回答 1

9

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

string.format

Options A, a, E, e, f, G, 和g都需要一个数字作为参数。选项c, d, i, o, u, X, 和x期望一个整数。

于 2015-07-23T02:22:35.817 回答