From: paptimusx Date: 2011-08-24T14:06:57+09:00 Subject: [ruby-list:48337] Re: 1.25を %10.1f で出力したときバージョンにより表示に違いがでるのは何故でしょうか。 Rubyからは離れてしまうのですが、もうすこし教えてください。 http://www.exploringbinary.com/inconsistent-rounding-of-printed-floating-point-numbers/ にある 0.45が 0.5 になるのは何故でしょうか。 10進で単純に考えると0.4になりそうです.. 単精度で銀行家丸めをしてみると(つまりRubyでない) 0.4になり、倍精度だと0.5になります。 0.45はバイナリで正確に表現できないので、というような説明があるのですが、 10進のまま考えてはいけないのでしょうか。 0.45 = 0.450000000000000011102230246251565404236316680908203125 2011年8月24日11:11 Kenta Murata : > むらたです。 > http://www.exploringbinary.com/inconsistent-rounding-of-printed-floating-point-numbers/ > このページに同様の実験とその結果が載ってますね。