0

Ruby 1.8.7 を実行しています。

(1.005 * 100).ラウンド結果: 100

(1.006 * 100).round 結果: 101

100.5.ラウンド結果: 101

(1.005 * 100) 結果: 100.5

ここで何が起こっているのですか?誰かが最新バージョンのルビーでこれを試してもらえますか? ありがとう!

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 に答える