| Class | BigDecimal |
| In: |
bigdecimal/util.rb
|
| Parent: | Numeric |
Public Instance methods
to "nnnnnn.mmm" form digit string Use BigDecimal#to_s("F") instead.
# 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
# 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