Skip to content

Instantly share code, notes, and snippets.

@sasaki-shigeo
Created September 18, 2012 14:52
Show Gist options
  • Save sasaki-shigeo/3743553 to your computer and use it in GitHub Desktop.
Save sasaki-shigeo/3743553 to your computer and use it in GitHub Desktop.
Numeric Constants and Literals in Ruby (Ruby の数値定数および表記)
# 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