module function Kernel.#BigDecimal

BigDecimal(s, exception: true) -> BigDecimal | nil[permalink][rdoc] [added by bigdecimal]
BigDecimal(s, n, exception: true) -> BigDecimal | nil [added by bigdecimal]

引数で指定した値を表す BigDecimal オブジェクトを生成します。

[PARAM] s:
数値を表現する初期値を文字列、IntegerFloatRationalBigDecimal オブジェクトのいずれかで指定します。文字列中のスペースは無視されます。また、判断できない文字が出現した時点で文字列は終了したものとみなされます。
[PARAM] n:
必要な有効桁数(self の最大有効桁数)を整数で指定します。 n が 0 または省略されたときは、n の値は s の有効桁数とみなされます。 s の有効桁数より n が小さいときもn = 0 のときと同じです。 self の最大有効桁数は n より若干大きい値が採用されます。最大有効桁数は以下のような割り算を実行するとき等に意味を持ちます。
  require "bigdecimal"
  BigDecimal("1")    / BigDecimal("3")    # => 0.3333333333 33E0
  BigDecimal("1",10) / BigDecimal("3",10) # => 0.3333333333 3333333333 33333333E0
ただし、個々の演算における最大有効桁数 n の取り扱いは将来のバージョンで若干変更される可能性があります。
[PARAM] exception:
false を指定すると、変換できなかった場合、例外を発生する代わりに nil を返します。
[EXCEPTION] ArgumentError:
s に Float オブジェクトを指定し、n に Float::DIG + 2 以上の値を指定した場合に発生します。 s に FloatRational オブジェクトを指定し、n を省略した場合に発生します。
[EXCEPTION] ArgumentError:
n に負の数を指定した場合に発生します。