From: "KISHIMOTO, Makoto" Date: 2011-08-24T14:23:49+09:00 Subject: [ruby-list:48338] Re: 1.25を %10.1f で出力したときバージョンにより表示に違いがでるのは何故でしょうか。 > 10進で単純に考えると0.4になりそうです.. > 単精度で銀行家丸めをしてみると(つまりRubyでない) 0.4になり、倍精度だと0.5になります。 > 0.45はバイナリで正確に表現できないので、というような説明があるのですが、 > 10進のまま考えてはいけないのでしょうか。 コンピュータの浮動小数点とはそういうもの(普通、2進)だからです。 ある意味で、期待した通りの「ちょうど5」のふるまいが起きるのは、たまたま 2進でちょうど表現できる時のみ、と考えていいでしょう(0.375とか)。