From: matz@... (Yukihiro Matsumoto) Date: 2001-06-19T15:56:50+09:00 Subject: [ruby-list:30302] Re: round の仕様 まつもと ゆきひろです In message "[ruby-list:30301] round の仕様" on 01/06/19, Shin-ichi TAKAYA writes: |題記、roundの仕様について質問があるのですが、 | |puts 23.49999999999999999999999999.round | |の結果は、24になります。roundはselfに最も近い整数を返すとい |うruby本、及びWEBのリファレンスからすると、23が帰ってきて欲 |しいのですが、これは仕様でしょうか? puts 23.49999999999999999999999999 あるいは printf "%20.20f\n", 23.49999999999999999999999999 してみてください。つまり、浮動小数点数の誤差により、この数値 は23.5とみなされ、+0.5すると24になってしまうのです。浮動小数 点数の場合、みかけと実際の数値はさまざまな理由(ほとんどは2 進数表現による誤差)により、異なります。