From: Tadashi Saito Date: 2005-11-08T15:52:25+09:00 Subject: [ruby-list:41513] Re: 数を減らしてくループ 斎藤と申します。 On Tue, 8 Nov 2005 13:44:00 +0900 ゴトウダイスケ wrote: > windows 2000 sp4 + ruby 1.8.3 (2005-09-21) [i386-mswin32] > でちょっと試してみました。(増分をかえて) > すると、、、 > 0.8 となって欲しいところで 0.799999999999999 > 0.4 となって欲しいところで 0.399999999999999 > となりました。これってあまり嬉しくないなぁと思いますが > いかがでしょう。 Floatに対する真面目な回答は小波さんとrubikitchさんのおっしゃる 通りだと思います。が、1.8にはBigDecimalもありますよ。 こちらはFloatで起きる誤差の問題が起こらない小数ライブラリです。 irb(main):006:0> BigDecimal("10.0").step(0,BigDecimal("-0.2")){|i| puts i.to_digits} 10.0 9.8 9.6 : (略) : 1.2 1.0 0.8 0.6 0.4 0.2 0.0 => # irb(main):007:0> # と宣伝してみるテスト。 -- 斎藤ただし