Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > bigdecimal/utilライブラリ > Floatクラス > to_d

instance method Float#to_d

to_d -> BigDecimal[permalink][rdoc] [added by bigdecimal/util]
to_d(prec) -> BigDecimal [added by bigdecimal/util]

自身を BigDecimal に変換します。

[PARAM] prec:
計算結果の精度。省略した場合は Float::DIG + 1 です。
[RETURN]
BigDecimal に変換したオブジェクト

自身を一度 Float#to_s で文字列に変換してから Kernel.#BigDecimal で生成するので、精度に注意してください。

require 'bigdecimal'
require 'bigdecimal/util'
1.0.to_d.to_s # => "0.1E1"
(1.0/0).to_d.to_s # => "Infinity"

((1.0/3).to_d/(2.0/3).to_d).to_s # => "0.499999999999999250000000000000375E0"
((1.0/3)/(2.0/3)).to_d.to_s # => "0.5E0"
[EXCEPTION] ArgumentError:
prec に負の数を指定した場合に発生します。