gpt4 book ai didi

loops - Lua for 循环不进行所有迭代

转载 作者:行者123 更新时间:2023-12-04 05:56:46 26 4
gpt4 key购买 nike

我是 lua 的新手,我正在使用它来自动化模拟程序 femm 中的一些任务。在我的脚本中,我有这种类型的 for 循环:

for i=0.1,0.3,0.1
do
print(i)
end

问题是它只从 0.1 迭代到 0.2(它没有输入 i=0.3)。我尝试了其他值(例如从 0.1 到 0.4)并且它工作正常。为什么会发生这种奇怪的行为?这是浮点数问题吗?

最佳答案

发生这种情况是因为将 0.1 和 0.1 相加三次会产生一个略大于 0.3 的数字。因此,循环在达到目标结束编号之前停止。

这是使用浮点值进行循环迭代的危险。改用整数重写循环,然后执行除法以获得所需的数字:

for j = 1,3
do
i = j/10
print(i)
end

Demo.

关于loops - Lua for 循环不进行所有迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46154301/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com