From: Take_tk Date: 2002-12-06T23:41:33+09:00 Subject: [ruby-list:36708] Re: 1.1 < 61.1 - 60.0 たけ(tk)です。 [ruby-list:36704] Re: 1.1 < 61.1 - 60.0 にて Shin-ichiro HARA さん 曰く: : 結局これは、require "Float_fixed_cmp" とすると、a == b となる : 機会が増え、 a < b あるいは a > b となる機会が減る、という事に : なるわけですね。それが望ましいのかどうか。  望ましいかどうかは使う目的次第ですね。 「入学試験みたいな、測定値自体はアバウトなわりには判定基準はやたらシビア な場合」というのは、「人間が行う端数処理と同様の処理」で「手作業との照合 で "誤差" が出」ないようにするという意味でのシビアさのことだと思います。 最初の「成績処理のプログラム中に 1.1 < 61.1 - 60.0 が真になってしまって 困っている」という苦情は「1.1 == 61.1 - 60.0」であるべきだという趣旨でしょ うから、固定小数点処理で行なってほしいという要望に読み替えても構わないと 思います。 ---- p a = 1.1 #=> 1.1 p b = 61.1 - 60.0 #=> 1.1 p c = 2.8 - 1.7 #=> 1.1 p a <=> b #=> -1 p b <=> c #=> 1 p c <=> a #=> -1 p 61.1 - 60.0 <=> 2.8 - 1.7 #=> -1 require "Float_fixed_cmp" p a <=> b #=> 0 p b <=> c #=> 0 p c <=> a #=> 0 p 61.1 - 60.0 <=> 2.8 - 1.7 #=> 0 ---- take_tk = kumagai hidetake