44件ヒット
[1-44件を表示]
(0.060秒)
別のキーワード
検索結果
先頭4件
-
BigDecimal
. limit(n = nil) -> Integer (18225.0) -
生成されるBigDecimalオブジェクトの最大桁数をn桁に制限します。 n を指定しない、または n が nil の場合は、現状の最大桁数が返ります。
...制限に増えてしまうような場合 limit で
予め桁数を制限できます。この場合 BigDecimal.mode で指定された丸め処理が
実行されます。ただし、インスタンスメソッド (BigDecimal#truncate /
BigDecimal#round / BigDecimal#ceil / BigDecimal#floor /
BigDe......cimal#add/ BigDecimal#sub / BigDecimal#mult /
BigDecimal#div) の桁数制限は limit より優先されます。
//emlist[][ruby]{
require 'bigdecimal'
n = 0 # デフォルト値
mf = BigDecimal::limit(n)
//}
@param n 新しい最大桁数を正の整数で指定します。
@raise ArgumentErro... -
BigDecimal
. mode(s) -> Integer | nil (190.0) -
BigDecimal の計算処理の制御方法を設定、確認します。
...を行う項目を BigDecimal::EXCEPTION_*、
BigDecimal::ROUND_MODE のいずれかで指定します。
@param v 引数 s が BigDecimal::ROUND_MODE の場合は
BigDecimal::ROUND_MODE 以外の BigDecimal::_ROUND* のいず
れかを指定します。指定した丸め......l'
flag = BigDecimal::ROUND_HALF_UP # デフォルト値
f = BigDecimal::mode(BigDecimal::ROUND_MODE,flag)
//}
の形式で指定します。
ここで、flag は以下(括弧内は対応するインスタンスメソッド)の一つを指定します。
* BigDecimal::ROUND_UP 全て切り上げ......ます。
* BigDecimal::ROUND_DOWN 全て切り捨てます(truncate)。
* BigDecimal::ROUND_HALF_UP 四捨五入します(デフォルト)。
* BigDecimal::ROUND_HALF_DOWN 五捨六入します。
* BigDecimal::ROUND_HALF_EVEN 四捨六入します。5の時は上位1桁が奇数の時の... -
BigDecimal
. mode(s , v) -> Integer | nil (190.0) -
BigDecimal の計算処理の制御方法を設定、確認します。
...を行う項目を BigDecimal::EXCEPTION_*、
BigDecimal::ROUND_MODE のいずれかで指定します。
@param v 引数 s が BigDecimal::ROUND_MODE の場合は
BigDecimal::ROUND_MODE 以外の BigDecimal::_ROUND* のいず
れかを指定します。指定した丸め......l'
flag = BigDecimal::ROUND_HALF_UP # デフォルト値
f = BigDecimal::mode(BigDecimal::ROUND_MODE,flag)
//}
の形式で指定します。
ここで、flag は以下(括弧内は対応するインスタンスメソッド)の一つを指定します。
* BigDecimal::ROUND_UP 全て切り上げ......ます。
* BigDecimal::ROUND_DOWN 全て切り捨てます(truncate)。
* BigDecimal::ROUND_HALF_UP 四捨五入します(デフォルト)。
* BigDecimal::ROUND_HALF_DOWN 五捨六入します。
* BigDecimal::ROUND_HALF_EVEN 四捨六入します。5の時は上位1桁が奇数の時の... -
bigdecimal (36.0)
-
bigdecimal は浮動小数点数演算ライブラリです。 任意の精度で 10 進表現された浮動小数点数を扱えます。
...えます。
//emlist[][ruby]{
require 'bigdecimal'
a = BigDecimal("0.123456789123456789")
b = BigDecimal("123456.78912345678", 40)
print a + b # => 0.123456912580245903456789e6
//}
一般的な 10 進数の計算でも有用です。2 進数の浮動小数点演算には微小な誤
差がある......ます。
このように、加減算と乗算での c は必ず「誤差が出ない」だけの精度を持って生成されます
(BigDecimal.limit を指定しない場合)。
除算は (a の最大有効桁数) + (b の最大有効桁数) 分の最大桁数を持つ c が生成されますが......o_s(10) # 2.0 / 3.0
# => 0.6666666666 67e0
//}
: truncate, round, ceil, floor
これらのメソッドは小数点からの相対位置を指定して桁数を決定します。
//emlist[][ruby]{
require "bigdecimal"
p BigDecimal("6.66666666666666").round(12).to_s(10)
# => 0.6666666666 667e1
//...