[#35937] WeRDS (the Weekly Ruby-Doc Summary) 2002-09-13 — maili31s@... (SugHimsi == SUGIHARA Hiroshi)

すぎむし。

14 messages 2002/09/16
[#36004] WeRDS (the Weekly Ruby-Doc Summary) 2002-09-22 — maili31s@... (SugHimsi == SUGIHARA Hiroshi) 2002/09/25

すぎむし%くどいようですが、うるさければ謹慎しますので。

[#35940] 9.2 の数値が 9.199999999999999 — "Inoue" <rubyist@...1.117.ne.jp>

井上です。

16 messages 2002/09/17
[#35941] Re: 9.2 の数値が 9.199999999999999 — matz@... (Yukihiro Matsumoto) 2002/09/17

まつもと ゆきひろです

[#35942] Re: 9.2 の数値が 9.199999999999999 — Fujimaru Hiroyasu <f-hiro@...> 2002/09/17

 藤丸です。

[#35977] [ANN] Exerb 2.1.0 — Yuya Kato <yuya-ml@4th.to>

Yuyaです。

18 messages 2002/09/20
[#35978] Cookie — 金光雅夫 (KANEMITSU Masao) <masao-k@...> 2002/09/20

金光です。どもっ (_ _)

[#35979] Re: Cookie — rio-t@... 2002/09/20

こんにちは、高石です。

[#35980] Re: Cookie — 金光雅夫 (KANEMITSU Masao) <masao-k@...> 2002/09/20

金光です。どもっ。

[ruby-list:35966] Re: Float#to_r (Re: 9.2 の数値が 9.199999999999999)

From: nobu.nakada@...
Date: 2002-09-18 01:20:54 UTC
List: ruby-list #35966
なかだです。

At Wed, 18 Sep 2002 05:01:12 +0900,
Masaaki Sakano wrote:
> Float を必要な精度で Rational に変換するための自作ライブラリ ---
> 具体的には Float class に .to_r(prec=5) (precは精度) メソッドを
> つけ加える --- を添付してみました。

Rationalの乗除算を繰り返してるのが気になったので、ちょっと書き
換えてみました。

> # fl2rat.rb
> class Float
>   def to_r(prec=5)
>     ## Do "include Math" and "require 'rational'" first.
> 
>     case self
>     when Integer, Rational, 0
>       return self.to_r
>     end

Floatのメソッドなので、これは要らないのでは。

>     if self < 0
>       keta=10**(log10(-self).floor)
>     else
>       keta=10**(log10(self).floor)
>     end
> 
>     keta2=10**(prec-1)
>     (keta.to_r)*((self/keta)*keta2).round/keta2
>   end
> end

class Float
  def to_r(prec = 5)
    ofs = prec - Math.log10(self.abs).floor - 1
    num = (self * 10.0 ** ofs).round
    if ofs > 0
      Rational.reduce(num, 10.power!(ofs))
    else
      Rational.new(num * 10.power!(-ofs), 1)
    end
  end
end

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread