[#43103] 浮動小数点を比較するには — wada toshiki <wada-ts@...>

お世話になります。

21 messages 2007/01/11
[#43105] Re: 浮動小数点を比較するには — NISHIMATSU Takeshi <t_nissie@...> 2007/01/11

> Rubyレシピブック(P290)で 比較する数値の差を Float::EPSILON と比較する方法があり

[ruby-list:43105] Re: 浮動小数点を比較するには

From: NISHIMATSU Takeshi <t_nissie@...>
Date: 2007-01-11 23:08:07 UTC
List: ruby-list #43105
> Rubyレシピブック(P290)で 比較する数値の差を Float::EPSILON と比較する方法があり
> ますが、記事の例(比較する数値が1.0)はTrueとなってうまくいきますが、それ以外の数
> 値ではFalseでうまくいきません。

比較したい数で割るのを忘れているとか:
$ ruby -e 'x = 10.333333333333333  ; p Float::EPSILON > ((x-31.0/3)/x).abs'
true
$ ruby -e 'x =  0.333333333333333  ; p Float::EPSILON > ((x- 1.0/3)/x).abs'
false
$ ruby -e 'x =  0.3333333333333333 ; p Float::EPSILON > ((x- 1.0/3)/x).abs'
true
(Rubyレシピブックを持っていないのでどういうことをしているのかわかりませんが)

-
 love && peace && free_software
 西松タケシ




In This Thread