0

运行红宝石 1.8.7。

(1.005 * 100).round 结果:100

(1.006 * 100).round 结果:101

100.5.round 结果:101

(1.005 * 100) 结果:100.5

这里发生了什么?有人可以在最新版本的 ruby​​ 中试试这个吗?谢谢!

4

1 回答 1

0

浮点数学是正在发生的事情。

对于最后一个,我没有得到 100.5,你也没有,即使由于某种原因它显示如下:

Loading development environment (Rails 3.2.8)
1.9.3p194 :001 > (1.005 * 100).round
 => 100 
1.9.3p194 :002 > (1.006 * 100).round
 => 101 
1.9.3p194 :003 > 100.5.round
 => 101 
1.9.3p194 :004 > (1.005 * 100)
 => 100.49999999999999 
于 2012-10-25T17:40:01.580 回答