【发布时间】:2016-04-18 02:32:48
【问题描述】:
我有以下测试用例:
Lua 5.3.2 Copyright (C) 1994-2015 Lua.org, PUC-Rio
> foo = 1000000000000000000
> bar = foo + 1
> bar
1000000000000000001
> string.format("%.0f", foo)
1000000000000000000
> string.format("%.0f", bar)
1000000000000000000
最后一行应该是1000000000000000001,因为这是bar 的值,但由于某种原因它不是。这不仅适用于1000000000000000000,我还没有找到另一个能给出正确值的数字。谁能解释为什么会发生这种情况?
【问题讨论】: