Ruby 割り算の結果を分数形式で取得する
Rubyで、割り算の結果を分数形式で取得するソースコードを記述してます。「quo」と「Rational」を使用します。2つの違いは小数を使用した場合の結果となります。
環境
- OS windows11 home
- ruby 3.1.3p185
分数形式で取得
割り算の結果を分数形式で取得するには「quo」を使用します。
分子.quo(分母)
実際に使用してみます。
p 4.quo(8)
# (1/2)
p 4.quo(-8)
# (-1/2)
p -4.quo(-8)
# (1/2)
p 8.quo(8)
# (1/1)
p 5.quo(8)
# (5/8)
p 0.quo(1)
# (0/1)
分数形式が取得されていることが確認できます。
0で割り算するとエラーとなります。
1.quo(0)
in `quo': divided by 0 (ZeroDivisionError)
小数を使用
小数を使用した場合は、割り算の結果が返ります。
p 4.4.quo(8)
# 0.55
p 1.quo(0.5)
# 2.0
p 1.quo(0.9)
# 1.1111111111111112
Rational
「Rational」を使用して取得することも可能です。
p Rational(4, 8)
# (1/2)
p Rational(4, -8)
# (-1/2)
p Rational(-4, -8)
# (1/2)
p Rational(8, 8)
# (1/1)
p Rational(5, 8)
# (5/8)
p Rational(0, 1)
# (0/1)
こちらも「0」で割ると同様のエラーが発生します。
p Rational(1, 0)
in `Rational': divided by 0 (ZeroDivisionError)
小数を使用するとなるべく近い値の分数が結果として返ります。
p Rational(4.4, 8)
# (2476979795053773/4503599627370496) = 0.55
p Rational(0.5, 1)
# (1/2)
p Rational(1, 0.9)
# (9007199254740992/8106479329266893) = 1.111111111111111
-
前の記事
MariaDB コマンドの実行履歴と結果をファイルに記録する 2022.12.18
-
次の記事
javascript set同士で同じ値からsetを生成する 2022.12.19
コメントを書く