Created
September 18, 2012 14:52
-
-
Save sasaki-shigeo/3743553 to your computer and use it in GitHub Desktop.
Numeric Constants and Literals in Ruby (Ruby の数値定数および表記)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Ruby の整数は Bignum なので,上限,下限は無い。 | |
# 数学定数 | |
Math::PI # 円周率 | |
Math::E # 自然対数の底 e | |
# Float は,多くの実装で IEEE 754 double precision floating point number が使われる | |
Float.MAX # 最大値 | |
Float.INFINITY # 無限大 | |
Float.NAN # NaN | |
Float.RADIX # 内部表現の基数 (IEEE 754 では二進数なので 2) | |
Float.MAX_EXP # 指数の最大値 (IEEE 754 double precision だと 1023 のはずだが) | |
Float.MIN_EXP # 指数の最小値 (IEEE 754 double precision だと -1022 のはずだが) | |
Float.MANT_DIG # 仮数部の桁数 (the number of mantissa digits) | |
# IEEE 754 doubl_e precision だと 52 + 1 = 53 | |
Float.EPSILON # マシーン・イプシロン | |
# Ruby 1.8 以前では Float.INFINITY, Flaot.NAN, Float.EPSILON が定義されていないので | |
# 次のように定数定義しておくとよい。 | |
INFINITY = - Math.log(0.0) | |
NAN = 0.0 / 0.0 | |
# 無限大,非数の判定 | |
x.infinite? # 正または負の無限大 | |
x.nan? # 非数 | |
x.finite? # 無限大でも非数でもない | |
# 変換 | |
"1234".to_i # => 1234 | |
"3.14".to_f # => 3.14 | |
123456.to_s # => "123456" | |
3.1416.to_s # => "3.1416" | |
3.14.floor # 3 (切り下げ) | |
3.14.ceil # 4 (切り上げ) | |
3.14.truncate # 3 (切り捨て; 0に近づく) | |
round(2.5) # 3 (四捨五入) | |
round(-2.5) # -3 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment