Как считать от 0,0001 до 1 в рубине?

Я хочу посчитать от 0,0001 до 1 с шагом 0,0001 в рубине. Я написал этот код, но он заходит в бесконечный цикл. Почему-то интерпретатор делает неправильное суммирование.

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 и т. Д. Как заставить его работать? Спасибо!

7
задан Andrew Grimm 18 December 2011 в 21:45
поделиться