class Complex - bigdecimal: Ruby Standard Library Documentation

# class Complex

### Public Instance Methods

to_d → bigdecimal click to toggle source
to_d(precision) → bigdecimal

Returns the value as a `BigDecimal`.

The `precision` parameter is required for a rational complex number. This parameter is used to determine the number of significant digits for the result.

    require 'bigdecimal'
    require 'bigdecimal/util'

    Complex(0.1234567, 0).to_d(4)   # => 0.1235e0
    Complex(Rational(22, 7), 0).to_d(3)   # => 0.314e1

See also `Kernel.BigDecimal`.

    # File bigdecimal-3.1.8/lib/bigdecimal/util.rb, line 157
    def to_d(*args)
      BigDecimal(self) unless self.imag.zero? # to raise eerror

      if args.length == 0
        case self.real
        when Rational
          BigDecimal(self.real) # to raise error
        end
      end
      self.real.to_d(*args)
    end