Support for the Ruby 2.4 series has ended. See here for reference.
Numeric
BigDecimal extends the native Rational class to provide the to_d method.
When you require BigDecimal in your application, this method will be available on Rational objects.
Converts a Rational to a BigDecimal.
The required precision parameter is used to determine the amount of significant digits for the result. See BigDecimal#div for more information, as it is used along with the denominator and the precision for parameters.
r = (22/7.0).to_r # => (7077085128725065/2251799813685248) r.to_d(3) # => 0.314e1
# File bigdecimal/lib/bigdecimal/util.rb, line 121
def to_d(precision)
if precision <= 0
raise ArgumentError, "negative precision"
end
num = self.numerator
BigDecimal(num).div(self.denominator, precision)
end