LUA(Corona SDK)math.floor()返回错误的值,增量为0.1

LUA(Corona SDK)math.floor()返回错误的值,增量为0.1,第1张

概述当我在每次增加0.1的双值上使用Math.floor函数时,我有一个奇怪的错误. 它仅以0.1的增量发生并从值5开始 例如:math.floor(4)返回4但math.floor(5)返回4 !!! 您可以使用这段简单的代码自行尝试: for i=3,7,0.1 do print("val : "..i.." floor : "..math.floor(i))end 以下是上述代码的结 当我在每次增加0.1的双值上使用Math.floor函数时,我有一个奇怪的错误. @H_301_7@

@H_301_7@它仅以0.1的增量发生并从值5开始

@H_301_7@例如:math.floor(4)返回4但math.floor(5)返回4 !!!

@H_301_7@您可以使用这段简单的代码自行尝试:

@H_301_7@

for i=3,7,0.1 do     print("val : "..i.." floor : "..math.floor(i))end
@H_301_7@以下是上述代码的结果:

@H_301_7@

Corona Simulator[1494:707] val : 3 floor : 3 Corona Simulator[1494:707] val : 3.1 floor : 3 Corona Simulator[1494:707] val : 3.2 floor : 3 Corona Simulator[1494:707] val : 3.3 floor : 3 Corona Simulator[1494:707] val : 3.4 floor : 3 Corona Simulator[1494:707] val : 3.5 floor : 3 Corona Simulator[1494:707] val : 3.6 floor : 3 Corona Simulator[1494:707] val : 3.7 floor : 3 Corona Simulator[1494:707] val : 3.8 floor : 3 Corona Simulator[1494:707] val : 3.9 floor : 3 Corona Simulator[1494:707] val : 4 floor : 4 Corona Simulator[1494:707] val : 4.1 floor : 4 Corona Simulator[1494:707] val : 4.2 floor : 4 Corona Simulator[1494:707] val : 4.3 floor : 4 Corona Simulator[1494:707] val : 4.4 floor : 4 Corona Simulator[1494:707] val : 4.5 floor : 4 Corona Simulator[1494:707] val : 4.6 floor : 4 Corona Simulator[1494:707] val : 4.7 floor : 4 Corona Simulator[1494:707] val : 4.8 floor : 4 Corona Simulator[1494:707] val : 4.9 floor : 4 Corona Simulator[1494:707] val : 5 floor : 4 Corona Simulator[1494:707] val : 5.1 floor : 5 Corona Simulator[1494:707] val : 5.2 floor : 5 Corona Simulator[1494:707] val : 5.3 floor : 5 Corona Simulator[1494:707] val : 5.4 floor : 5 Corona Simulator[1494:707] val : 5.5 floor : 5 Corona Simulator[1494:707] val : 5.6 floor : 5 Corona Simulator[1494:707] val : 5.7 floor : 5 Corona Simulator[1494:707] val : 5.8 floor : 5 Corona Simulator[1494:707] val : 5.9 floor : 5 Corona Simulator[1494:707] val : 6 floor : 5 Corona Simulator[1494:707] val : 6.1 floor : 6 Corona Simulator[1494:707] val : 6.2 floor : 6 Corona Simulator[1494:707] val : 6.3 floor : 6 Corona Simulator[1494:707] val : 6.4 floor : 6 Corona Simulator[1494:707] val : 6.5 floor : 6 Corona Simulator[1494:707] val : 6.6 floor : 6 Corona Simulator[1494:707] val : 6.7 floor : 6 Corona Simulator[1494:707] val : 6.8 floor : 6 Corona Simulator[1494:707] val : 6.9 floor : 6 Corona Simulator[1494:707] val : 7 floor : 6
@H_301_7@如果它可以帮助,如果我们在错误值的结果上应用模1,我们得到这个结果:0.99999999999999

解决方法 浮点数是恶魔.不要将它们用作循环计数器. @H_301_7@

@H_301_7@

for i = 30,70 do     local i = i / 10    print("val : "..i.." floor : "..math.floor(i))end
总结

以上是内存溢出为你收集整理的LUA(Corona SDK)math.floor()返回错误的值,增量为0.1全部内容,希望文章能够帮你解决LUA(Corona SDK)math.floor()返回错误的值,增量为0.1所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1228089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存