本文へスキップ
BecomeCoder

Rubyコース · 第1章 Rubyをはじめよう · レッスン4

数値と計算 ― 整数と小数、切り捨て除算に注意

ブラウザで完結

導入

Ruby では整数(Integer)と小数(Float)を区別して扱います。この違いを知らないと、割り算の結果に驚くことがあります。

説明

四則演算 + - * / に加えて、余りを求める %、べき乗を求める ** が使えます。

puts 7 / 2
puts 7.0 / 2
puts 7 / 2.0
puts 10 % 3
puts 2 ** 8

ここで注目してほしいのが 7 / 2 です。整数どうしの割り算は、小数点以下が切り捨てられて整数になります3 になり 3.5 にはなりません)。小数の結果がほしいときは、どちらか一方を .0 を付けた小数にします(7.0 / 27 / 2.0 なら 3.5)。

計算結果を丸めたいときは .round(桁数) が使えます。

puts (7 / 2.0).round(2)

やってみよう

7 / 27.0 / 2 を両方表示して、結果の違いを目で確かめましょう。他の数字でも整数どうしの割り算を試してみてください。

演習

10 / 4 の結果と 10.0 / 4 の結果を、それぞれ1行ずつ puts で表示してください(22.5 の2行)。

ヒント1を見る

puts 10 / 4puts 10.0 / 4 を続けて書きます。

ヒント2を見る

整数どうしの割り算は小数点以下が切り捨てられます。

実際に動かしてみよう

下のエディタにRubyを書いて「実行」を押すと、学習用シミュレータが puts / print / p の出力を表示します(本物のRubyではなく、教材の範囲を再現した軽量な自作エンジンです)。配列・ハッシュ・ブロック(each/map/select)・メソッド・クラス・モジュール・例外なども動きます。本文の例を書き換えて動かしてみましょう(gem・Rails・ファイル入出力など一部の機能は対象外です。文字列を伸ばすときは str << も可能ですが、変数に反映されるのは str += です)。

Ruby — ブラウザ内で実行(学習用シミュレータ)

Rubyの教材サブセットを動かす学習用シミュレータを読み込みます(本物のRubyではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。