ライブラリ
- ビルトイン (3)
- bigdecimal (37)
-
bigdecimal
/ util (7) -
json
/ add / bigdecimal (1) - matrix (2)
キーワード
- % (1)
- * (1)
- ** (2)
- + (1)
- +@ (1)
- - (1)
- -@ (1)
-
/ (1) -
_ dump (1) - add (1)
- ceil (2)
- coerce (1)
- det (1)
- determinant (1)
- div (2)
- divmod (1)
- floor (2)
- modulo (1)
- mult (1)
- pow (2)
- power (2)
- quo (1)
- remainder (1)
- round (3)
- split (1)
- sqrt (1)
- sub (1)
-
to
_ d (6) -
to
_ digits (1) -
to
_ f (1) -
to
_ i (1) -
to
_ int (1) -
to
_ json (1) -
to
_ s (2) - truncate (2)
検索結果
先頭5件
-
BigDecimal
# -@ -> BigDecimal (69607.0) -
self の符号を反転させたものを返します。
self の符号を反転させたものを返します。 -
BigDecimal
# +@ -> self (69304.0) -
self を返します。
self を返します。 -
BigDecimal
# round(n) -> BigDecimal (51832.0) -
クラスメソッド BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で指定した BigDecimal::ROUND_MODE に従って丸め操作を実行します。
クラスメソッド BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で指定した
BigDecimal::ROUND_MODE に従って丸め操作を実行します。
@param n 小数点以下の桁数を整数で指定します。
@param b 丸め処理の方式として、BigDecimal.mode の第 1 引数と同じ
値を指定します。
BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で何も指定せず、
かつ、引数を指定しない場合は
「小数点以下第一位の数を四捨五入して整数(BigDecimal 値)」に... -
BigDecimal
# round(n , b) -> BigDecimal (51832.0) -
クラスメソッド BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で指定した BigDecimal::ROUND_MODE に従って丸め操作を実行します。
クラスメソッド BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で指定した
BigDecimal::ROUND_MODE に従って丸め操作を実行します。
@param n 小数点以下の桁数を整数で指定します。
@param b 丸め処理の方式として、BigDecimal.mode の第 1 引数と同じ
値を指定します。
BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で何も指定せず、
かつ、引数を指定しない場合は
「小数点以下第一位の数を四捨五入して整数(BigDecimal 値)」に... -
BigDecimal
# divmod(n) -> [BigDecimal , BigDecimal] (51682.0) -
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし て返します。
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし
て返します。
商は負の無限大負方向に丸められます。
@param n self を割る数を指定します。
//emlist[][ruby]{
require 'bigdecimal'
a = BigDecimal("42")
b = BigDecimal("9")
a.divmod(b) # => [0.4e1, 0.6e1]
//} -
BigDecimal
# round -> Integer (51532.0) -
クラスメソッド BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で指定した BigDecimal::ROUND_MODE に従って丸め操作を実行します。
クラスメソッド BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で指定した
BigDecimal::ROUND_MODE に従って丸め操作を実行します。
@param n 小数点以下の桁数を整数で指定します。
@param b 丸め処理の方式として、BigDecimal.mode の第 1 引数と同じ
値を指定します。
BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で何も指定せず、
かつ、引数を指定しない場合は
「小数点以下第一位の数を四捨五入して整数(BigDecimal 値)」に... -
BigDecimal
# add(other , n) -> BigDecimal (51433.0) -
和を計算します。
和を計算します。
self + other を最大で n 桁まで計算します。計算結果の精度が n より大きい
ときは BigDecimal.mode で指定された方法で丸められます。
@param other self に足す数を指定します。
@param n 有効桁数を整数で指定します。0 を指定した場合は
BigDecimal#+ と同じ値を返します。
@raise ArgumentError n に負の数を指定した場合に発生します。
@see BigDecimal#+ -
BigDecimal
# ceil(n) -> BigDecimal (51433.0) -
self 以上の整数のうち、最も小さい整数を計算し、その値を返します。
self 以上の整数のうち、最も小さい整数を計算し、その値を返します。
@param n 小数点以下の桁数を整数で指定します。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").ceil # => 2
BigDecimal("-1.23456").ceil # => -1
//}
以下のように引数を与えて、小数点以下 n+1 位の数字を操作することもできます。
n >= 0 なら、小数点以下 n + 1 位の数字を操作します
(小数点以下を、最大 n 桁にします)。
n が負のときは小数点以上 n 桁目を操作... -
BigDecimal
# div(other , n) -> BigDecimal (51433.0) -
商を計算します。
商を計算します。
self / other を最大で n 桁まで計算します。計算結果の精度が n より大きい
ときは BigDecimal.mode で指定された方法で丸められます。
@param other self を割る数を指定します。
@param n 有効桁数を整数で指定します。省略するか 0 を指定した場合は
BigDecimal#/ と同じ値を返します。
@raise ArgumentError n に負の数を指定した場合に発生します。
@see BigDecimal#/ -
BigDecimal
# floor(n) -> BigDecimal (51433.0) -
self 以下の最大整数を返します。
self 以下の最大整数を返します。
@param n 小数点以下の桁数を整数で指定します。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").floor # => 1
BigDecimal("-1.23456").floor # => -2
//}
以下のように引数 n を与えることもできます。
n >= 0 なら、小数点以下 n + 1 位の数字を操作します
(小数点以下を、最大 n 桁にします)。
n が負のときは小数点以上 n 桁目を操作します
(小数点位置から左に少なくとも n 個の 0 が並びます... -
BigDecimal
# mult(other , n) -> BigDecimal (51433.0) -
積を計算します。
積を計算します。
self * other を最大で n 桁まで計算します。計算結果の精度が n より大きい
ときは BigDecimal.mode で指定された方法で丸められます。
@param other self に掛ける数を指定します。
@param n 有効桁数を整数で指定します。0 を指定した場合は
BigDecimal#* と同じ値を返します。
@raise ArgumentError n に負の数を指定した場合に発生します。
@see BigDecimal#* -
BigDecimal
# sub(other , n) -> BigDecimal (51433.0) -
差を計算します。
差を計算します。
self - other を最大で n 桁まで計算します。計算結果の精度が n より大きい
ときは BigDecimal.mode で指定された方法で丸められます。
@param other self から引く数を指定します。
@param n 有効桁数を整数で指定します。0 を指定した場合は
BigDecimal#- と同じ値を返します。
@raise ArgumentError n に負の数を指定した場合に発生します。
@see BigDecimal#- -
BigDecimal
# %(n) -> BigDecimal (51382.0) -
self を n で割った余りを返します。
self を n で割った余りを返します。
@param n self を割る数を指定します。
//emlist[][ruby]{
require 'bigdecimal'
x = BigDecimal((2**100).to_s)
( x % 3).to_i # => 1
(-x % 3).to_i # => 2
( x % -3).to_i # => -2
(-x % -3).to_i # => -1
//}
戻り値は n と同じ符号になります。これは BigDecimal#remainder とは
異なる点に注意してください。詳細は Numeric#%、
Numeric#re... -
BigDecimal
# modulo(n) -> BigDecimal (51382.0) -
self を n で割った余りを返します。
self を n で割った余りを返します。
@param n self を割る数を指定します。
//emlist[][ruby]{
require 'bigdecimal'
x = BigDecimal((2**100).to_s)
( x % 3).to_i # => 1
(-x % 3).to_i # => 2
( x % -3).to_i # => -2
(-x % -3).to_i # => -1
//}
戻り値は n と同じ符号になります。これは BigDecimal#remainder とは
異なる点に注意してください。詳細は Numeric#%、
Numeric#re... -
BigDecimal
# remainder(n) -> BigDecimal (51379.0) -
self を n で割った余りを返します。
self を n で割った余りを返します。
@param n self を割る数を指定します。
//emlist[][ruby]{
require 'bigdecimal'
x = BigDecimal((2**100).to_s)
x.remainder(3).to_i # => 1
(-x).remainder(3).to_i # => -1
x.remainder(-3).to_i # => 1
(-x).remainder(-3).to_i # => -1
//}
戻り値は self と同じ符号になります。これは BigDecimal#% とは異な
る点に注意し... -
BigDecimal
# truncate(n) -> BigDecimal (51379.0) -
小数点以下の数を切り捨てて整数にします。
小数点以下の数を切り捨てて整数にします。
@param n 小数点以下の桁数を整数で指定します。
以下のように引数を与えて、小数点以下 n+1 位の数字を操作することもできます。
n が正の時は、小数点以下 n+1 位の数字を切り捨てます
(小数点以下を、最大 n 桁にします)。
n が負のときは小数点以上 n 桁目を操作します
(小数点位置から左に少なくとも n 個の 0 が並びます)。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").truncate(4).to_f # => 1.2345
BigDec... -
BigDecimal
# **(n) -> BigDecimal (51349.0) -
self の n 乗を計算します。
self の n 乗を計算します。
戻り値の有効桁数は self の有効桁数の n 倍以上になります。
@param n selfを other 乗する数を指定します。
@param prec 有効桁数を整数で指定します。 -
BigDecimal
# / (other) -> BigDecimal (51349.0) -
商を計算します。
商を計算します。
@param other self を割る数を指定します。
詳細は Numeric#quo を参照して下さい。
計算結果の精度についてはlib:bigdecimal#precisionを参照してください。 -
BigDecimal
# div(other) -> BigDecimal (51349.0) -
商を計算します。
商を計算します。
@param other self を割る数を指定します。
詳細は Numeric#quo を参照して下さい。
計算結果の精度についてはlib:bigdecimal#precisionを参照してください。 -
BigDecimal
# power(n) -> BigDecimal (51349.0) -
self の n 乗を計算します。
self の n 乗を計算します。
戻り値の有効桁数は self の有効桁数の n 倍以上になります。
@param n selfを other 乗する数を指定します。
@param prec 有効桁数を整数で指定します。 -
BigDecimal
# power(n , prec) -> BigDecimal (51349.0) -
self の n 乗を計算します。
self の n 乗を計算します。
戻り値の有効桁数は self の有効桁数の n 倍以上になります。
@param n selfを other 乗する数を指定します。
@param prec 有効桁数を整数で指定します。 -
BigDecimal
# quo(other) -> BigDecimal (51349.0) -
商を計算します。
商を計算します。
@param other self を割る数を指定します。
詳細は Numeric#quo を参照して下さい。
計算結果の精度についてはlib:bigdecimal#precisionを参照してください。 -
BigDecimal
# *(other) -> BigDecimal (51343.0) -
積を計算します。
積を計算します。
@param other self に掛ける数を指定します。
計算結果の精度についてはlib:bigdecimal#precisionを参照してください。 -
BigDecimal
# +(other) -> BigDecimal (51343.0) -
和を計算します。
和を計算します。
@param other self に足す数を指定します。
計算結果の精度についてはlib:bigdecimal#precisionを参照してください。 -
BigDecimal
# -(other) -> BigDecimal (51343.0) -
差を計算します。
差を計算します。
@param other self から引く数を指定します。
計算結果の精度についてはlib:bigdecimal#precisionを参照してください。 -
BigDecimal
# sqrt(n) -> BigDecimal (51343.0) -
self の有効桁 n 桁の平方根 (n の平方根ではありません) をニュートン法で 計算します。
self の有効桁 n 桁の平方根 (n の平方根ではありません) をニュートン法で
計算します。
@param n 有効桁数を整数で指定します。
@raise ArgumentError n に負の数を指定した場合に発生します。 -
BigDecimal
# to _ s -> String (51292.0) -
self を文字列に変換します (デフォルトは "0.xxxxxen" の形になります)。
self を文字列に変換します (デフォルトは "0.xxxxxen" の形になります)。
@param n 出力の形式を Integer または String で指定します。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").to_s # ==> "0.123456e1"
//}
引数 n に正の整数が指定されたときは、小数点で分けられる左右部分を、
それぞれ n 桁毎に空白で区切ります。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("0.123456... -
BigDecimal
# to _ s(n) -> String (51292.0) -
self を文字列に変換します (デフォルトは "0.xxxxxen" の形になります)。
self を文字列に変換します (デフォルトは "0.xxxxxen" の形になります)。
@param n 出力の形式を Integer または String で指定します。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").to_s # ==> "0.123456e1"
//}
引数 n に正の整数が指定されたときは、小数点で分けられる左右部分を、
それぞれ n 桁毎に空白で区切ります。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("0.123456... -
BigDecimal
# ceil -> Integer (51133.0) -
self 以上の整数のうち、最も小さい整数を計算し、その値を返します。
self 以上の整数のうち、最も小さい整数を計算し、その値を返します。
@param n 小数点以下の桁数を整数で指定します。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").ceil # => 2
BigDecimal("-1.23456").ceil # => -1
//}
以下のように引数を与えて、小数点以下 n+1 位の数字を操作することもできます。
n >= 0 なら、小数点以下 n + 1 位の数字を操作します
(小数点以下を、最大 n 桁にします)。
n が負のときは小数点以上 n 桁目を操作... -
BigDecimal
# floor -> Integer (51133.0) -
self 以下の最大整数を返します。
self 以下の最大整数を返します。
@param n 小数点以下の桁数を整数で指定します。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").floor # => 1
BigDecimal("-1.23456").floor # => -2
//}
以下のように引数 n を与えることもできます。
n >= 0 なら、小数点以下 n + 1 位の数字を操作します
(小数点以下を、最大 n 桁にします)。
n が負のときは小数点以上 n 桁目を操作します
(小数点位置から左に少なくとも n 個の 0 が並びます... -
BigDecimal
# coerce(other) -> Array (51130.0) -
self と other が同じクラスになるよう、self か other を変換し [other, self] という配列にして返します。
self と other が同じクラスになるよう、self か other を変換し [other,
self] という配列にして返します。
@param other 比較または変換するオブジェクト
BigDecimal#coerce は Ruby における強制型変換のための機能です。
BigDecimal オブジェクトとその他のオブジェクト間の各種の計算は
BigDecimal#coerce の結果を元に行われます。
//emlist[][ruby]{
require "bigdecimal"
a = BigDecimal("1.0")
b = a / 2.0 # => 0.5e0
... -
BigDecimal
# _ dump -> String (51124.0) -
BigDecimal._load で復元可能な文字列を返します。 Marshal.#dump から呼び出されます。
BigDecimal._load で復元可能な文字列を返します。
Marshal.#dump から呼び出されます。
//emlist[][ruby]{
require 'bigdecimal'
inf = BigDecimal('Infinity') # => Infinity
s = Marshal.dump(inf) # => "\x04\bu:\x0FBigDecimal\x0F9:Infinity"
Marshal.load(s) # => Infinity
//}
@see BigDecimal._load, Marshal.#dump,... -
BigDecimal
# split -> [Integer , String , Integer , Integer] (51124.0) -
BigDecimal 値を 0.xxxxxxx*10**n と表現したときに、 符号 (NaNのときは 0、それ以外は+1か-1になります)、 仮数部分の文字列("xxxxxxx")と、基数(10)、更に指数 n を配列で返します。
BigDecimal 値を 0.xxxxxxx*10**n と表現したときに、
符号 (NaNのときは 0、それ以外は+1か-1になります)、
仮数部分の文字列("xxxxxxx")と、基数(10)、更に指数 n を配列で返します。
//emlist[][ruby]{
require "bigdecimal"
a = BigDecimal("3.14159265")
f, x, y, z = a.split
//}
とすると、f = 1、x = "314159265"、y = 10、z = 1 になります。
従って、以下のようにする事で Float に変換することができます。
//em... -
BigDecimal
# truncate -> Integer (51079.0) -
小数点以下の数を切り捨てて整数にします。
小数点以下の数を切り捨てて整数にします。
@param n 小数点以下の桁数を整数で指定します。
以下のように引数を与えて、小数点以下 n+1 位の数字を操作することもできます。
n が正の時は、小数点以下 n+1 位の数字を切り捨てます
(小数点以下を、最大 n 桁にします)。
n が負のときは小数点以上 n 桁目を操作します
(小数点位置から左に少なくとも n 個の 0 が並びます)。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").truncate(4).to_f # => 1.2345
BigDec... -
BigDecimal
# to _ f -> Float (51058.0) -
self の近似値を表す Float オブジェクトに変換します。
self の近似値を表す Float オブジェクトに変換します。
仮数部や指数部の情報が必要な場合は、BigDecimal#split メソッドを利
用してください。
@see BigDecimal#split -
BigDecimal
# to _ i -> Integer (51022.0) -
self の小数点以下を切り捨てて整数に変換します。
self の小数点以下を切り捨てて整数に変換します。
@raise FloatDomainError self が無限大や NaN であった場合に発生します。 -
BigDecimal
# to _ int -> Integer (51022.0) -
self の小数点以下を切り捨てて整数に変換します。
self の小数点以下を切り捨てて整数に変換します。
@raise FloatDomainError self が無限大や NaN であった場合に発生します。 -
BigDecimal
# to _ d -> BigDecimal (27343.0) -
自身を返します。
自身を返します。
@return BigDecimal オブジェクト -
BigDecimal
# to _ json(*args) -> String (27094.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 使用しません。
//emlist[例][ruby]{
require 'json/add/bigdecimal'
BigDecimal('0.123456789123456789').to_json # => "{\"json_class\":\"BigDecimal\",\"b\":\"36:0.123456789123456789e0\"}"
//... -
BigDecimal
# to _ digits -> String (27040.0) -
自身を "1234.567" のような十進数の形式にフォーマットした文字列に変換し ます。
自身を "1234.567" のような十進数の形式にフォーマットした文字列に変換し
ます。
@return 十進数の形式にフォーマットした文字列
注意:
このメソッドは非推奨です。BigDecimal#to_s("F") を使用してください。 -
Float
# to _ d -> BigDecimal (466.0) -
自身を BigDecimal に変換します。
自身を BigDecimal に変換します。
@param prec 計算結果の精度。省略した場合は Float::DIG + 1 です。
@return BigDecimal に変換したオブジェクト
//emlist[][ruby]{
require 'bigdecimal'
require 'bigdecimal/util'
p 1.0.to_d # => 0.1e1
p (1.0 / 0).to_d # => Infinity
p (1.0 / 3).to_d / (2.0 / 3).to_d # => 0.5e0
p ((1.0 / 3) / (2.0 / 3... -
Float
# to _ d(prec) -> BigDecimal (466.0) -
自身を BigDecimal に変換します。
自身を BigDecimal に変換します。
@param prec 計算結果の精度。省略した場合は Float::DIG + 1 です。
@return BigDecimal に変換したオブジェクト
//emlist[][ruby]{
require 'bigdecimal'
require 'bigdecimal/util'
p 1.0.to_d # => 0.1e1
p (1.0 / 0).to_d # => Infinity
p (1.0 / 3).to_d / (2.0 / 3).to_d # => 0.5e0
p ((1.0 / 3) / (2.0 / 3... -
Rational
# to _ d(nFig) -> BigDecimal (463.0) -
自身を BigDecimal に変換します。
自身を BigDecimal に変換します。
nFig 桁まで計算を行います。
@param nFig 計算を行う桁数
@return BigDecimal に変換したオブジェクト
@raise ArgumentError nFig に 0 以下を指定した場合に発生します。
//emlist[][ruby]{
require "bigdecimal"
require "bigdecimal/util"
p Rational(1, 3).to_d(3) # => 0.333e0
p Rational(1, 3).to_d(10) # => 0.3333333333e0
//} -
Integer
# to _ d -> BigDecimal (439.0) -
自身を BigDecimal に変換します。BigDecimal(self) と同じです。
自身を BigDecimal に変換します。BigDecimal(self) と同じです。
@return BigDecimal に変換したオブジェクト -
String
# to _ d -> BigDecimal (439.0) -
自身を BigDecimal に変換します。BigDecimal(self) と同じです。
自身を BigDecimal に変換します。BigDecimal(self) と同じです。
@return BigDecimal に変換したオブジェクト -
Integer
# **(other) -> Numeric (130.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@param modulo 指定すると、計算途中に巨大な値を生成せずに (self**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1
... -
Integer
# pow(other) -> Numeric (130.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@param modulo 指定すると、計算途中に巨大な値を生成せずに (self**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1
... -
Integer
# pow(other , modulo) -> Integer (130.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@param modulo 指定すると、計算途中に巨大な値を生成せずに (self**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1
... -
Matrix
# det -> Numeric (40.0) -
行列式 (determinant) の値を返します。
行列式 (determinant) の値を返します。
Float を使用すると、精度が不足するため、誤った結果が生じる可能性があることに注意してください。
代わりに、Rational や BigDecimal などの正確なオブジェクトを使用することを検討してください。
@raise ExceptionForMatrix::ErrDimensionMismatch 正方行列でない場合に発生します
//emlist[例][ruby]{
require 'matrix'
p Matrix[[2, 1], [-1, 2]].det #=> 5
p Matrix[[2.0, 1... -
Matrix
# determinant -> Numeric (40.0) -
行列式 (determinant) の値を返します。
行列式 (determinant) の値を返します。
Float を使用すると、精度が不足するため、誤った結果が生じる可能性があることに注意してください。
代わりに、Rational や BigDecimal などの正確なオブジェクトを使用することを検討してください。
@raise ExceptionForMatrix::ErrDimensionMismatch 正方行列でない場合に発生します
//emlist[例][ruby]{
require 'matrix'
p Matrix[[2, 1], [-1, 2]].det #=> 5
p Matrix[[2.0, 1...