種類
- インスタンスメソッド (110)
- ライブラリ (55)
- 文書 (42)
- 特異メソッド (22)
- 定数 (11)
ライブラリ
- ビルトイン (33)
- bigdecimal (99)
-
json
/ add / bigdecimal (11)
クラス
- BigDecimal (110)
- Integer (33)
キーワード
- ** (22)
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) -
EXCEPTION
_ ALL (11) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 2
. 6 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (4) -
NEWS for Ruby 3
. 1 . 0 (3) - Ruby用語集 (11)
- bigdecimal (11)
-
bigdecimal
/ ludcmp (11) -
bigdecimal
/ math (11) -
bigdecimal
/ newton (11) -
bigdecimal
/ util (11) - mode (22)
- mult (11)
- pow (22)
- power (22)
- split (11)
-
to
_ json (11)
検索結果
先頭5件
-
BigDecimal
# split -> [Integer , String , Integer , Integer] (21050.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 に変換することができます。
//emlist[][ruby]{
s = "0."+x
b = f*(s.to_f)*(y**z)
//}
@see BigDecimal#to_f... -
bigdecimal (6670.0)
-
bigdecimal は浮動小数点数演算ライブラリです。 任意の精度で 10 進表現された浮動小数点数を扱えます。
...bigdecimal は浮動小数点数演算ライブラリです。
任意の精度で 10 進表現された浮動小数点数を扱えます。
//emlist[][ruby]{
require 'bigdecimal'
a = BigDecimal("0.123456789123456789")
b = BigDecimal("123456.78912345678", 40)
print a + b # => 0.123456912580245903456......に対し、BigDecimal では正確な値を得る事ができます。
//emlist[例1: 0.0001 を 10000 回足す場合。][ruby]{
sum = 0
for i in (1..10000)
sum = sum + 0.0001
end
print sum # => 0.9999999999999062
//}
//emlist[例2: 0.0001 を 10000 回足す場合。(BigDecimal)][ruby]{
requi......って、BigDecimal オブジェクト以外でも数値を意味するものなら
右に置けば演算は可能です。
ただし、文字列は (通常) 数値に自動変換することはできません。
文字列を数値に自動変換したい場合は bigdecimal.c の
「/* #define ENA... -
Integer
# **(other) -> Numeric (6106.0) -
算術演算子。冪(べき乗)を計算します。
...elf**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0......# => 1
0 ** 0 # => 1
3.pow(3, 8) # => 3
3.pow(3, -8) # => -5
3.pow(2, -2) # => -1
-3.pow(3, 8) # => 5
-3.pow(3, -8) # => -3
5.pow(2, -8) # => -7
//}
結果が巨大すぎる整数になりそうなとき、警告を出したうえで Float::INFINITY を返します。
//emlist[計算を......放棄して Float::INFINITY を返す例][ruby]{
p 100**9999999
# => warning: in a**b, b may be too big
# Infinity
//}
判定の閾値は変わりえます。
@see BigDecimal#power... -
bigdecimal
/ math (6076.0) -
BigDecimalを使った数学的な機能を提供します。
...BigDecimalを使った数学的な機能を提供します。
以下の計算が行えます。
* sqrt(x, prec)
* sin (x, prec)
* cos (x, prec)
* atan(x, prec)
* PI (prec)
* E (prec)
引数:
: x
計算対象の BigDecimal オブジェクト。
: prec
計算結果の精度。
//e......mlist[例][ruby]{
require "bigdecimal"
require "bigdecimal/math"
include BigMath
a = BigDecimal((PI(100)/2).to_s)
puts sin(a,100)
#=> 0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999998765917571575217785e0
//}... -
bigdecimal
/ util (6064.0) -
String、Integer、Float、Rational, NilClass オブジェクトを BigDecimal オブジェクトに変換する機能を提供します。
...トを
BigDecimal オブジェクトに変換する機能を提供します。
* String#to_d
* Integer#to_d
* Float#to_d
* Rational#to_d
これらのメソッドを使うには 'bigdecimal/util' を require する必要があります。
なお、Ruby 2.6.0 以降では、'bigdecimal/util'......を require すると、
'bigdecimal' 本体も require されます。......loat、Rational, NilClass オブジェクトを
BigDecimal オブジェクトに変換する機能を提供します。
* String#to_d
* Integer#to_d
* Float#to_d
* Rational#to_d
* NilClass#to_d
これらのメソッドを使うには 'bigdecimal/util' を require する必要があります......。
なお、Ruby 2.6.0 以降では、'bigdecimal/util' を require すると、
'bigdecimal' 本体も require されます。... -
bigdecimal
/ newton (6030.0) -
ニュートン法を用いて非線形方程式 f(x) = 0 の解 x を求める機能を提供しま す。
...線形方程式 f(x) = 0 の解 x を求める機能を提供しま
す。
本サブライブラリは BigDecimal に依存しません。
実行例:
require "bigdecimal"
require "bigdecimal/newton"
...
n = Newton.nlsolve(f, x)
引数 f には関数を表すオブジェクトを指定......変更されます。x から解を取得します。
戻り値 n は計算した回数を整数で返します。
Ruby のソースコード中の以下のサンプルスクリプトも参考にしてください。
* https://github.com/ruby/ruby/blob/master/ext/bigdecimal/sample/nlsolve.rb... -
bigdecimal
/ ludcmp (6012.0) -
LU 分解を用いて、連立1次方程式 Ax = b の解 x を求める機能を提供します。
...LU 分解を用いて、連立1次方程式 Ax = b の解 x を求める機能を提供します。
Ruby のソースコード中の以下のサンプルスクリプトも参考にしてください。
* https://github.com/ruby/ruby/blob/master/ext/bigdecimal/sample/linear.rb... -
Integer
# pow(other) -> Numeric (3006.0) -
算術演算子。冪(べき乗)を計算します。
...elf**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0......# => 1
0 ** 0 # => 1
3.pow(3, 8) # => 3
3.pow(3, -8) # => -5
3.pow(2, -2) # => -1
-3.pow(3, 8) # => 5
-3.pow(3, -8) # => -3
5.pow(2, -8) # => -7
//}
結果が巨大すぎる整数になりそうなとき、警告を出したうえで Float::INFINITY を返します。
//emlist[計算を......放棄して Float::INFINITY を返す例][ruby]{
p 100**9999999
# => warning: in a**b, b may be too big
# Infinity
//}
判定の閾値は変わりえます。
@see BigDecimal#power... -
Integer
# pow(other , modulo) -> Integer (3006.0) -
算術演算子。冪(べき乗)を計算します。
...elf**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0......# => 1
0 ** 0 # => 1
3.pow(3, 8) # => 3
3.pow(3, -8) # => -5
3.pow(2, -2) # => -1
-3.pow(3, 8) # => 5
-3.pow(3, -8) # => -3
5.pow(2, -8) # => -7
//}
結果が巨大すぎる整数になりそうなとき、警告を出したうえで Float::INFINITY を返します。
//emlist[計算を......放棄して Float::INFINITY を返す例][ruby]{
p 100**9999999
# => warning: in a**b, b may be too big
# Infinity
//}
判定の閾値は変わりえます。
@see BigDecimal#power... -
NEWS for Ruby 2
. 6 . 0 (1782.0) -
NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...言語仕様の変更
* $SAFE はプロセスグローバルで扱われることになると共に、0以外を設定した後に0に戻せるようになりました。 14250
* Refinements がブロック引数にも反映されるようになりました。 14223
* Refinements が Obje......るようになりました。 15326
* Refinements が Object#respond_to? にも反映されるようになりました。 15327
* rescue 節なしの else 節がシンタックスエラーを発生するようになりました。 [実験的] 14606
* 定数名の先頭の文字に ASCII......quence 15287
* TracePoint#eval_script 15287
* 変更されたメソッド
* TracePoint#enable がキーワード引数 "target:" と "target_line:" を
受け付けるようになりました。 15289
=== 標準添付ライブラリの更新
* BigDecimal
* バージ...