我有一个Lua for循环,它以0.01的增量迭代从-1到1的数字,并且产生的像-6.6613381477509e-016一样糟糕,范围为-0.1到0.1(不包括)
我在用C++编写的LOVE引擎(v 0.9.2)中使用Lua
我宁愿解决问题,也不愿仅仅收到解释的信息转储,但我宁愿什么都不要。
(我也理解浮动的不正确的一般原因,因此可以省略解释)
最佳答案
您已经知道了原因,这是一个可能的解决方案:不要循环使用浮点数,而应使用整数。
代替
for i = -1, 1, 0.01 do
用:
for i = -100, 100 do
print(i / 100)
end