数値オブジェクトについて
- [目次]
- [基本の使い方]
- [数値クラス]
- [数値メソッド]
- [四則演算]
- [分数]
- [浮動小数点数]
- [クラスの変更]
- [クラス・メソッドの調べ方]
- [まとめ]
基本の使い方
普通に数字を記載してもらえれば大丈夫です。
example
入力
puts 3
puts 1.2
出力
3
1.2
数値クラス
数値オブジェクトの大元となるクラスがNumericです。
そこから整数の値を扱うInteger、浮動小数点数を扱うFloatに分かれます。
IntegerはさらにFixnumとBignumに分かれます。
Bignumの方が大きな値を扱う事ができます。ただし、FixnumからBignumへのクラスの変換は自動で行われるので、クラスとして存在していることを知っておくだけで十分です。
注:Ruby 2.4 以降は Integer に一本化されました。
数値メソッド
数値オブジェクトに関わる代表的なメソッドについて説明します。
+や-などの四則演算もメソッドの一つです。
四則演算
足し算と引き算は数学と同様に+
、-
を使用します。
掛け算は*
、割り算は/
を使用します。
割り算の余りを表示したい場合は%
を使います。
べき乗を行うには**
を使用します。
example
入力
puts 4+3 #足し算
puts 4-3 #引き算
puts 4*3 #掛け算
puts 4/3 #割り算
puts 4%3 #4/3の余り
puts 4**3 #4の3乗
出力
7
1
12
1
1
64
割り算で少数点以下も表示したい場合
例えば、計算式の中で4の表記を4.0といった表記にして、小数点以下を表示しておけばOKです。
example
入力
puts 4/3 #割り算
puts 4.0/3
出力
1
1.3333333333333333
分数
四則演算の中で分数にして表記することも可能です。
その場合Rational
を使用します。
使い方は
Rational(分子,分母)
です。
example
入力
puts Rational(4,5)
puts Rational(4,5)+Rational(4,5)
出力
4/5
8/5
Rationalにはもっと簡単な書き方もあります。
example
入力
puts 4/5r
puts 4/5r+4/5r
出力
4/5
8/5
浮動小数点数
少数を扱うメソッドとして
- 四捨五入
- 小数点以下切り捨て
- 小数点以下切り上げ
があります。
四捨五入を行いたい時はround
を使用します。
example
入力
puts 1.5.round
puts 1.4.round
出力
2
1
小数点以下の切り捨てを行いたい時はfloor
を使用します。
example
入力
puts 1.5.floor
puts 1.4.floor
出力
1
1
小数点以下の切り上げを行いたい時はceilを使用します。
example
入力
puts 1.5.ceil
puts 1.4.ceil
出力
2
2
クラスの変更
クラスの変更を行ってくれるメソッドについてです。
例えば4.0
を4
に変更したいとします。
これは少数(Float)
を整数(Integer)
に変更するということです。
ですのでこの場合Integerに変更するという意味で、to_i
というメソッドになります。
example
入力
puts 1.5.to_i
puts 1.4.to_i
出力
1
1
この場合、小数点以下は切り捨てになります。
逆に、整数(Integer)
を少数(Float)
に変更する場合。
Floatに変更するので、to_f
を使用します。
example
入力
puts 1.to_f
puts 20.to_f
出力
1.0
20.0
クラス・メソッドの調べ方
クラスを調べる場合はclass
を使用します。
example
入力
puts 2.class
puts 2.0.class
出力
Integer
Float
メソッドを調べる場合はmethods
を使用します。
example
入力
puts 2.methods
出力
-@
**
<=>
upto
<<
<=
>=
==
chr
===
>>
[]
%
&
inspect
+
ord
-
/
*
size
succ
<
>
to_int
以下略