整数と浮動小数点数の演算の場合の注意点

演算を行う場合、整数と整数、浮動小数点数と浮動小数点数だけではなくに整数と浮動小数点数に対して演算を行うことも可能です。ただし演算の結果得られる数値が整数になるか浮動小数点数になるかは注意が必要です。ここでは Ruby で整数と浮動小数点数の演算の場合の注意点について解説します。

(2022 年 10 月 13 日公開 / 2022 年 10 月 23 日更新)

整数と浮動小数点数の演算の場合の注意点

整数と浮動小数点数の演算を行う場合、それぞれの演算結果が整数になるか浮動小数点数になるかは次の通りです。

左辺右辺演算結果
整数整数整数
整数浮動小数点数浮動小数点数
浮動小数点数整数浮動小数点数
浮動小数点数浮動小数点数浮動小数点数

このように演算子の左辺又は右辺のどちらかが浮動小数点数の場合は演算結果は浮動小数点数になります。

ここで注意が必要なのが整数を整数で除算した場合です。結果が整数となるため割り切れない場合は小数点以下が切り捨てられた整数となります。除算の結果を浮動小数点数で取得したい場合には左辺又は右辺のどちらかを浮動小数点数にする必要があります。

サンプルコード

では簡単なプログラムで確認してみます。

# encoding: UTF-8

print("5 * 3 = ", 5 * 3, "\n")
print("5 * 3.2 = ", 5 * 3.2, "\n")
print("5.4 * 3 = ", 5.4 * 3, "\n")
print("5.4 * 3.2 = ", 5.4 * 3.2, "\n\n")

print("5 / 3 = ", 5 / 3, "\n")
print("5 / 3.2 = ", 5 / 3.2, "\n")
print("5.4 / 3 = ", 5.4 / 3, "\n")
print("5.4 / 3.2 = ", 5.4 / 3.2, "\n\n")

print("5 + 3 = ", 5 + 3, "\n")
print("5 + 3.2 = ", 5 + 3.2, "\n")
print("5.4 + 3 = ", 5.4 + 3, "\n")
print("5.4 + 3.2 = ", 5.4 + 3.2, "\n\n")

print("5 - 3 = ", 5 - 3, "\n")
print("5 - 3.2 = ", 5 - 3.2, "\n")
print("5.4 - 3 = ", 5.4 - 3, "\n")
print("5.4 - 3.2 = ", 5.4 - 3.2, "\n\n")

print("5 % 3 = ", 5 % 3, "\n")
print("5 % 3.2 = ", 5 % 3.2, "\n")
print("5.4 % 3 = ", 5.4 % 3, "\n")
print("5.4 % 3.2 = ", 5.4 % 3.2, "\n\n")

print("5 ** 3 = ", 5 ** 3, "\n")
print("5 ** 3.2 = ", 5 ** 3.2, "\n")
print("5.4 ** 3 = ", 5.4 ** 3, "\n")
print("5.4 ** 3.2 = ", 5.4 ** 3.2, "\n")

下記のように実行して下さい。

演算子の優先順位

-- --

Ruby で整数と浮動小数点数の演算の場合の注意点について解説しました。

( Written by Tatsuo Ikura )

広告
Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。