ruby数字と日付
ruby数字と数学演算
数値メソッド
Mathモジュール
標準ライブラリのBigDecimalクラスは、Floatの代わりに使用できます.バイナリ浮動小数点演算による丸め誤差を回避するには、特に便利です.
乱数:
グローバル関数でKernel.randは、パラメータを持たない場合、0.0以上1.0以下の擬似ランダム浮動小数点数を返します.整形パラメータmaxが与えられた場合、0以上max以下の擬似乱数を返します.
日付と時刻
数値メソッド
0.zero? #true 0
0.0.zero? #true 0
0.nonzero? #false 0
1.integer? #true
2.even? #true
1.even? #false
1.odd? #true
1.1.ceil #2 1
1.1.floor #1
4.6.round #5
4.3.round #4
-1.1.to_i #-1
-2.abs #2
-2.0 <=> 0 #-1
Mathモジュール
Math::PI #3.1415... π
Math.sqrt(25.0) #5
Math.log10(100.00) #2 10 ,100
Math.log2(8) #3 2 ,8
標準ライブラリのBigDecimalクラスは、Floatの代わりに使用できます.バイナリ浮動小数点演算による丸め誤差を回避するには、特に便利です.
d = 0.1
4*d - 3*d == d #false
require 'bigdecimal'
d1 = BigDecimal('0.1')
4*d1 - 3*d1 == d1 #true
乱数:
グローバル関数でKernel.randは、パラメータを持たない場合、0.0以上1.0以下の擬似ランダム浮動小数点数を返します.整形パラメータmaxが与えられた場合、0以上max以下の擬似乱数を返します.
rand #0.964395...
rand(100) #36
日付と時刻
Time.now #2014-10-27 09:16:57 +0800
Time.new #2014-10-27 09:17:15 +0800
Time.local 2014, 10, 10 #2014-10-10 00:00:00 +0800
Time.local 2014, 7, 8, 10, 11, 34 #2014-07-08 10:11:34 +0800
Time.utc 2014, 7, 8, 10, 11, 34 #2014-07-08 10:11:34 UTC UTC
Time.gm 2014, 7, 8, 10, 11, 34 #2014-07-08 10:11:34 UTC , GMT , UTC
t = Time.utc 2000, 12, 31, 23, 59, 59
t.year #2000
t.month #12
t.day #31
t.wday #0 ,0 1
t.yday #366
t.hour #23
t.min #59
t.sec #59
t.zone #UTC
values = t.to_a #[59, 59, 23, 31, 12, 2000, 0, 366, false, "UTC"]
values[5] += 1
Time.utc *values #2001-12-31 23:59:59 UTC
t.zone #UTC
t.utc? #true
t.localtime #2001-01-01 07:59:59 +0800
t.zone #CST
t.utc? #false
t.gmtime #2000-12-31 23:59:59 UTC
t.getlocal #2001-01-01 07:59:59 +0800
t.getutc #2000-12-31 23:59:59 UTC
t.sunday? #true
t.monday? #false
t.to_s #"2000-12-31 23:59:59 UTC"
t.strftime('%Y-%m-%d %H:%M:%S') #"2000-12-31 23:59:59"