类 Complex

公共实例方法

to_d → bigdecimal 点击切换源代码
to_d(precision) → bigdecimal

将值作为 BigDecimal 返回。

对于有理复数,precision 参数是必需的。此参数用于确定结果的有效位数。

require 'bigdecimal'
require 'bigdecimal/util'

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

另请参见 Kernel.BigDecimal.

# File 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