2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

数値オブジェクトについて

Last updated at Posted at 2019-03-24

数値オブジェクトについて

  • [目次]
    • [基本の使い方]
    • [数値クラス]
    • [数値メソッド]
      • [四則演算]
      • [分数]
      • [浮動小数点数]
    • [クラスの変更]
    • [クラス・メソッドの調べ方]
    • [まとめ]

基本の使い方

普通に数字を記載してもらえれば大丈夫です。

example

入力

puts 3

puts 1.2

出力

3
1.2

数値クラス

Numeric_class.png

数値オブジェクトの大元となるクラスがNumericです。

そこから整数の値を扱うInteger、浮動小数点数を扱うFloatに分かれます。

IntegerはさらにFixnumBignumに分かれます。

Bignumの方が大きな値を扱う事ができます。ただし、FixnumからBignumへのクラスの変換は自動で行われるので、クラスとして存在していることを知っておくだけで十分です。

注:Ruby 2.4 以降は Integer に一本化されました。

数値メソッド

数値オブジェクトに関わる代表的なメソッドについて説明します。

+や-などの四則演算もメソッドの一つです。

四則演算

shisoku.png

足し算と引き算は数学と同様に+-を使用します。

掛け算は*、割り算は/を使用します。

割り算の余りを表示したい場合は%を使います。

べき乗を行うには**を使用します。

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

浮動小数点数

syosu.png

少数を扱うメソッドとして

  • 四捨五入
  • 小数点以下切り捨て
  • 小数点以下切り上げ
    があります。

四捨五入を行いたい時は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

クラスの変更

change.png

クラスの変更を行ってくれるメソッドについてです。

例えば4.04に変更したいとします。

これは少数(Float)整数(Integer)に変更するということです。

ですのでこの場合Integerに変更するという意味で、to_iというメソッドになります。

Numeric_class.png

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

以下略

まとめ

matome.png
2
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?