【Ruby3.x】Rational::round()メソッドの使い方
roundメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
roundメソッドは、有理数を丸める処理を実行するメソッドです。
このメソッドは、RubyのRationalクラスのインスタンスである有理数値を、指定された精度で丸めるために使用されます。
引数を指定せずにroundメソッドを呼び出した場合、有理数は最も近い整数に丸められます。この際、小数部分がちょうど0.5の場合(例えば2.5や3.5など)、結果が偶数になるように丸められます。これは「最近接偶数への丸め」と呼ばれる規則に基づいており、数値処理における公平性を保つための一般的な方法です。この場合、戻り値はIntegerオブジェクトとなります。
整数値を引数として渡すことで、丸める桁数を詳細に制御することができます。正の整数を引数に指定した場合、小数点以下の指定された桁数で有理数を丸め、結果を新たなRationalオブジェクトとして返します。例えば、Rational(1, 3).round(2)はRational(33, 100)を返します。一方、負の整数を引数に指定した場合、小数点より上の位(例えば10の位や100の位)で有理数を丸め、Integerオブジェクトを返します。例えば、Rational(12345, 1).round(-2)は12300を返します。
このメソッドは、有理数を用いた計算結果を特定の精度で表示したり、整数値として扱いたい場合に非常に便利です。
構文(syntax)
1Rational(1234, 1000).round(2)
引数(parameters)
ndigits = 0
- ndigits = 0: 丸めたい小数点以下の桁数を指定する整数。デフォルトは0で、最も近い整数に丸められます。
戻り値(return)
Integer または Float
Rationalオブジェクトを四捨五入した結果を返します。整数に丸める場合はInteger、浮動小数点数に丸める場合はFloatが返されます。