У меня есть цикл Lua for, который итерации через числа от -1 до 1 с шагом 0,01 и производит номера так же плохо, как 6.6613381477509e-016 в диапазоне - 0,1 до 0,1 (эксклюзив)lua десятичные знаки разрываются вокруг -0,1 до 0,1 (эксклюзивно)
Я использую Lua в ЛЮБВИ двигателя (v 0.9.2), написанный на C++
Я предпочел бы решить эту проблему, чем просто получить информационную свалку объяснения, но Я бы предпочел это, чем ничего.
(также я понимаю общую причину поплавки являются неточными, так что могут быть исключены из объяснений)
Я не вижу, как 6.6613381477509e-016 является плохой номер. Он появляется между -0.01 и 0.01, правильно? –
Покажите нам код. Если вы получили это значение, начиная с «-1.0» и увеличивая на «0.01» 100 раз, я бы не удивился. –
В моей системе это: 'lua -e '= -1 для i = 1,100 do x = x + 0.01 end print (x)'' prints '7.5286998857393e-16' –