Class: Rational (Ruby 2.3.2)
Description: Class : Rational - Ruby 2.3.2

- Home
- Core 2.3.2
- Std-lib 2.3.2
- Downloads

Support for the Ruby 2.3 series has ended. See here for reference.

### Home Classes Methods

### In Files

- bigdecimal/lib/bigdecimal/util.rb

### Parent

Numeric

### Methods

- #to_d

### Class/Module Index

Quicksearch

- BigDecimal
- BigMath
- Float
- Integer
- Jacobian
- Kernel
- LUSolve
- Newton
- Rational
- String

No matching classes.

# Rational

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.

### Public Instance Methods

to_d(precision) → bigdecimal click to toggle source

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)
    # => #<BigDecimal:1a44d08,'0.314E1',18(36)>

                   # File bigdecimal/lib/bigdecimal/util.rb, line 120
    def to_d(precision)
      if precision <= 0
        raise ArgumentError, "negative precision"
      end
      num = self.numerator
      BigDecimal(num).div(self.denominator, precision)
    end