Maintenance Ruby 3.3 gets fixes, but no new features. Switch to Ruby 4.0 →
instance method
Complex#to_d
cmp.to_d → bigdecimal
cmp.to_d(precision) → bigdecimal
ext/bigdecimal/lib/bigdecimal/util.rb
View on GitHub ↗
# File tmp/rubies/ruby-3.3.0/ext/bigdecimal/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
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.
Example
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.