【Ruby3.x】Rational::rationalize()メソッドの使い方
rationalizeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
rationalizeメソッドはRationalクラスに属し、主に浮動小数点数を有理数(分数)に変換する際に利用されるメソッドです。このメソッドは、与えられた浮動小数点数を、指定された許容誤差範囲内で最も単純な形式の分数表現に変換します。オプションでeps(イプシロン)という引数を受け取ることができ、これは元の浮動小数点数と変換後の有理数との間の許容誤差範囲を示すものです。epsのデフォルト値は0.0です。
コンピュータ内部で浮動小数点数が完全に正確に表現できない場合があるため、epsを指定することは非常に重要です。epsを設定することで、この表現誤差を考慮し、元の数値に「近い」より簡潔な分数を見つけ出すことが可能になります。例えば、0.3333333333333333のような浮動小数点数をrationalizeメソッドに渡す際、適切なepsを設定することで、1/3といった、より直感的で簡潔な分数に変換できる場合があります。
このメソッドは、不正確な浮動小数点数計算の結果を数学的に厳密な分数として扱いたい場合や、表示を分かりやすい分数形式にしたい場合に特に有用です。正確な数値計算が求められるシステム開発において、浮動小数点数の丸め誤差を管理しつつ、適切な分数表現を得るための重要なツールとして活用できます。
構文(syntax)
1Rational(1, 2).rationalize
引数(parameters)
eps = nil
- eps: 許容誤差を指定する数値。nil の場合はデフォルト値が使用されます。
戻り値(return)
Rational
与えられた有理数オブジェクトを、より単純な(約分された)有理数オブジェクトに変換して返します。