Точность поплавка Ruby

Как я понимаю, плавающие поплавки Ruby (1.9.2) имеют точность 15 знаков после запятой. Поэтому я ожидал бы, что округление поплавка x до 15 знаков после запятой будет равно x. Для этого расчета дело обстоит иначе.

x = (0.33 * 10)
x == x.round(15) # => false

Кстати, округление до 16 знаков верно.

Можете ли вы мне это объяснить?

8
задан mskfisher 9 May 2012 в 19:19
поделиться