種類
- インスタンスメソッド (37)
- 特異メソッド (33)
- ライブラリ (11)
- 文書 (5)
ライブラリ
- ビルトイン (15)
- bigdecimal (55)
クラス
- BigDecimal (55)
- Time (15)
キーワード
-
NEWS for Ruby 2
. 7 . 0 (5) - bigdecimal (11)
- floor (5)
- limit (11)
- mode (22)
- round (5)
検索結果
先頭5件
-
Time
# ceil(ndigits=0) -> Time (24273.0) -
十進小数点数で指定した桁数の精度で切り上げをし、 その Time オブジェクトを返します。 (デフォルトは0、つまり小数点の所で切り上げます)。
...Time オブジェクトを返します。
(デフォルトは0、つまり小数点の所で切り上げます)。
ndigits には 0 以上の整数を渡します。
@param ndigits 十進での精度(桁数)
//emlist[][ruby]{
require 'time'
t = Time.utc(2010,3,30, 5,43,25.0123456789r)
t.iso8601......:43:25.0123456789Z"
t.ceil.iso8601(10) # => "2010-03-30T05:43:26.0000000000Z"
t.ceil(0).iso8601(10) # => "2010-03-30T05:43:26.0000000000Z"
t.ceil(1).iso8601(10) # => "2010-03-30T05:43:25.1000000000Z"
t.ceil(2).iso8601(10) # => "2010-03-30T05:43:25.0200000000Z"
t.ceil(3).iso8601(10) # => "201......t.ceil(4).iso8601(10) # => "2010-03-30T05:43:25.0124000000Z"
t = Time.utc(1999,12,31, 23,59,59)
(t + 0.4).ceil.iso8601(3) # => "2000-01-01T00:00:00.000Z"
(t + 0.9).ceil.iso8601(3) # => "2000-01-01T00:00:00.000Z"
(t + 1.4).ceil.iso8601(3) # => "2000-01-01T00:00:01.000Z"
(t + 1.9).ceil.iso... -
BigDecimal
# ceil -> Integer (24238.0) -
self 以上の整数のうち、最も小さい整数を計算し、その値を返します。
...、その値を返します。
@param n 小数点以下の桁数を整数で指定します。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").ceil # => 2
BigDecimal("-1.23456").ceil # => -1
//}
以下のように引数を与えて、小数点以下 n+1 位の数字を操作する......桁にします)。
n が負のときは小数点以上 n 桁目を操作します
(小数点位置から左に少なくとも n 個の 0 が並びます)。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").ceil(4).to_f # => 1.2346
BigDecimal("15.23456").ceil(-1).to_f # => 20.0
//}... -
BigDecimal
# ceil(n) -> BigDecimal (24238.0) -
self 以上の整数のうち、最も小さい整数を計算し、その値を返します。
...、その値を返します。
@param n 小数点以下の桁数を整数で指定します。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").ceil # => 2
BigDecimal("-1.23456").ceil # => -1
//}
以下のように引数を与えて、小数点以下 n+1 位の数字を操作する......桁にします)。
n が負のときは小数点以上 n 桁目を操作します
(小数点位置から左に少なくとも n 個の 0 が並びます)。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").ceil(4).to_f # => 1.2346
BigDecimal("15.23456").ceil(-1).to_f # => 20.0
//}... -
bigdecimal (6150.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]{
require 'bigdecim......ます。
: add, sub, mult, div
これらのメソッドは先頭 (最左) の数字からの桁数を指定できます。
//emlist[][ruby]{
require "bigdecimal"
p BigDecimal("2").div(3, 12).to_s(10) # 2.0 / 3.0
# => 0.6666666666 67e0
//}
: truncate, round, ceil, floor
これらのメソ... -
BigDecimal
. limit(n = nil) -> Integer (6112.0) -
生成されるBigDecimalオブジェクトの最大桁数をn桁に制限します。 n を指定しない、または n が nil の場合は、現状の最大桁数が返ります。
...生成されるBigDecimalオブジェクトの最大桁数をn桁に制限します。
n を指定しない、または n が nil の場合は、現状の最大桁数が返ります。
戻り値は設定する前の値です。設定値のデフォルト値は0で、桁数無制限を表してい......合 limit で
予め桁数を制限できます。この場合 BigDecimal.mode で指定された丸め処理が
実行されます。ただし、インスタンスメソッド (BigDecimal#truncate /
BigDecimal#round / BigDecimal#ceil / BigDecimal#floor /
BigDecimal#add/ BigDecimal#sub / BigDecimal#......mult /
BigDecimal#div) の桁数制限は limit より優先されます。
//emlist[][ruby]{
require 'bigdecimal'
n = 0 # デフォルト値
mf = BigDecimal::limit(n)
//}
@param n 新しい最大桁数を正の整数で指定します。
@raise ArgumentError n に負の数を指定した場合... -
BigDecimal
. mode(s) -> Integer | nil (3124.0) -
BigDecimal の計算処理の制御方法を設定、確認します。
...BigDecimal の計算処理の制御方法を設定、確認します。
第2引数を省略、または nil を指定すると現状の設定値を返します。
@param s 制御方法の設定、確認を行う項目を BigDecimal::EXCEPTION_*、
BigDecimal::ROUND_MODE のいずれか......。
//emlist[][ruby]{
require 'bigdecimal'
flag = false # デフォルト値
f = BigDecimal::mode(BigDecimal::EXCEPTION_NaN,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_INFINITY,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_UNDERFLOW,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_OVERFLOW,......* BigDecimal::ROUND_HALF_UP 四捨五入します(デフォルト)。
* BigDecimal::ROUND_HALF_DOWN 五捨六入します。
* BigDecimal::ROUND_HALF_EVEN 四捨六入します。5の時は上位1桁が奇数の時のみ繰り上げます(Banker's rounding)。
* BigDecimal::ROUND_CEILING... -
BigDecimal
. mode(s , v) -> Integer | nil (3124.0) -
BigDecimal の計算処理の制御方法を設定、確認します。
...BigDecimal の計算処理の制御方法を設定、確認します。
第2引数を省略、または nil を指定すると現状の設定値を返します。
@param s 制御方法の設定、確認を行う項目を BigDecimal::EXCEPTION_*、
BigDecimal::ROUND_MODE のいずれか......。
//emlist[][ruby]{
require 'bigdecimal'
flag = false # デフォルト値
f = BigDecimal::mode(BigDecimal::EXCEPTION_NaN,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_INFINITY,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_UNDERFLOW,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_OVERFLOW,......* BigDecimal::ROUND_HALF_UP 四捨五入します(デフォルト)。
* BigDecimal::ROUND_HALF_DOWN 五捨六入します。
* BigDecimal::ROUND_HALF_EVEN 四捨六入します。5の時は上位1桁が奇数の時のみ繰り上げます(Banker's rounding)。
* BigDecimal::ROUND_CEILING... -
Time
# floor(ndigits=0) -> Time (3112.0) -
十進小数点数で指定した桁数の精度で切り捨てをし、 その Time オブジェクトを返します。 (デフォルトは0、つまり小数点の所で切り捨てます)。
...の Time オブジェクトを返します。
(デフォルトは0、つまり小数点の所で切り捨てます)。
ndigits には 0 以上の整数を渡します。
@param ndigits 十進での精度(桁数)
//emlist[][ruby]{
require 'time'
t = Time.utc(2010,3,30, 5,43,25.123456789r)
t.iso86.......1234567890Z"
t.floor.iso8601(10) # => "2010-03-30T05:43:25.0000000000Z"
t.floor(0).iso8601(10) # => "2010-03-30T05:43:25.0000000000Z"
t.floor(1).iso8601(10) # => "2010-03-30T05:43:25.1000000000Z"
t.floor(2).iso8601(10) # => "2010-03-30T05:43:25.1200000000Z"
t.floor(3).iso8601(10) # => "2010.......iso8601(3) # => "1999-12-31T23:59:59.000Z"
(t + 1.4).floor.iso8601(3) # => "2000-01-01T00:00:00.000Z"
(t + 1.9).floor.iso8601(3) # => "2000-01-01T00:00:00.000Z"
t = Time.utc(1999,12,31, 23,59,59)
(t + 0.123456789).floor(4).iso8601(6) # => "1999-12-31T23:59:59.123400Z"
//}
@see Time#ceil... -
Time
# round(ndigits=0) -> Time (3112.0) -
十進小数点数で指定した桁数の精度で丸めをし、 その Time オブジェクトを返します。 (デフォルトは0、つまり小数点の所で丸めます)。
...Time オブジェクトを返します。
(デフォルトは0、つまり小数点の所で丸めます)。
ndigits には 0 以上の整数を渡します。
@param ndigits 十進での精度(桁数)
//emlist[][ruby]{
require 'time'
t = Time.utc(1999,12,31, 23,59,59)
p((t + 0.4).round.iso8601......p((t + 0.49).round.iso8601(3)) # => "1999-12-31T23:59:59.000Z"
p((t + 0.5).round.iso8601(3)) # => "2000-01-01T00:00:00.000Z"
p((t + 1.4).round.iso8601(3)) # => "2000-01-01T00:00:00.000Z"
p((t + 1.49).round.iso8601(3)) # => "2000-01-01T00:00:00.000Z"
p((t + 1.5).round.iso8601(3)) # => "......2000-01-01T00:00:01.000Z"
t = Time.utc(1999,12,31, 23,59,59)
p (t + 0.123456789).round(4).iso8601(6) # => "1999-12-31T23:59:59.123500Z"
//}
@see Time#ceil, Time#floor... -
NEWS for Ruby 2
. 7 . 0 (24.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...ルか bugs.ruby-lang.org の issue を参照してください。
== 2.6.0 以降の変更
=== 言語仕様の変更
==== パターンマッチ
* パターンマッチが実験的機能として導入されました。 14912
//emlist[][ruby]{
case [0, [1, 2, 3]]
in [a, [b, *c]]
p a #=> 0......Enumerator::Lazy#with_indexメソッドが追加され、
以前のlazyではないEnumerator#with_indexのデフォルト実装から
lazyになりました。7877
//emlist[Enumerator.produce][ruby]{
require "date"
dates = Enumerator.produce(Date.today, &:succ) #=> infinite sequence of da......* Unicode絵文字のバージョンが12.1に更新されました。 16272
* Symbol
* 新規メソッド
* Symbol#start_with?とSymbol#end_with?が追加されました。 16348
* Time
* 新規メソッド
* Time#ceilが追加されました。 15772
* Time#floo...