Class BigDecimal
In: bigdecimal/util.rb
Parent: Numeric

Methods

to_digits   to_r  

Public Instance methods

to "nnnnnn.mmm" form digit string Use BigDecimal#to_s("F") instead.

[Source]

    # File bigdecimal/util.rb, line 35
35:   def to_digits
36:      if self.nan? || self.infinite? || self.zero?
37:         self.to_s
38:      else
39:        i       = self.to_i.to_s
40:        s,f,y,z = self.frac.split
41:        i + "." + ("0"*(-z)) + f
42:      end
43:   end

Convert BigDecimal to Rational

[Source]

    # File bigdecimal/util.rb, line 46
46:   def to_r 
47:      sign,digits,base,power = self.split
48:      numerator = sign*digits.to_i
49:      denomi_power = power - digits.size # base is always 10
50:      if denomi_power < 0
51:         denominator = base ** (-denomi_power)
52:      else
53:         denominator = base ** denomi_power
54:      end
55:      Rational(numerator,denominator)
56:   end

Search

Google

Ruby API Docs

Links