gpt4 book ai didi

ruby - 如何在 ruby​​ 中从 0.0001 计数到 1?

转载 作者:数据小太阳 更新时间:2023-10-29 06:56:07 25 4
gpt4 key购买 nike

我想在 ruby​​ 中用 0.0001 步从 0.0001 数到 1。我写了这段代码,但它进入了无限循环。为什么解释器做了错误的求和。

x = 0.0001
while x != 1.0
puts x
x = x + 0.0001
end

这是它给出的前 10 个值:

0.0001
0.0002
0.00030000000000000003
0.0004
0.0005
0.0006000000000000001
0.0007000000000000001
0.0008000000000000001
0.0009000000000000002
0.0010000000000000002

应该是 0.0001、0.0002、0.0003 等等……我怎样才能让它工作?谢谢!

最佳答案

试试这个:

0.0001.step(1, 0.0001).each { |i| puts i }

编辑:您应该使用Float#step 方法,因为它使您免受浮点运算的怪异影响。 Float#step 将负责增加值并以防 float 的方式与限制进行比较。有关更多信息,请查看 the official documentation of Float#step .

关于ruby - 如何在 ruby​​ 中从 0.0001 计数到 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8535614/

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