我有一个Lua for循环,它以-1的增量从-1到1迭代数字,并且在-0.1到0.1(不包括)范围内产生的数字与6.6613381477509e-016一样差
我在LOVE引擎中使用Lua(v 0.9.2),用C ++编写
我宁愿解决这个问题而不仅仅是接收一个解释的信息转储,但我宁愿这也不是什么。
(我也理解浮动的一般原因是不准确的,因此可能会被解释掉)
答案 0 :(得分:6)
You've already known the reason, here's a possible solution: don't loop with floating point numbers, use integers.
Instead of
for i = -1, 1, 0.01 do
use:
for i = -100, 100 do
print(i / 100)
end