Ruby 3.0.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Rationalクラス > floor

instance method Rational#floor

floor(precision = 0) -> Integer | Rational[permalink][rdoc]

自身と等しいかより小さな整数のうち最大のものを返します。

[PARAM] precision:
計算結果の精度
[EXCEPTION] TypeError:
precision に整数以外のものを指定すると発生します。


Rational(3).floor     # => 3
Rational(2, 3).floor  # => 0
Rational(-3, 2).floor # => -2

Rational#to_i とは違う結果を返す事に注意してください。



Rational(+7, 4).to_i  # => 1
Rational(+7, 4).floor # => 1
Rational(-7, 4).to_i  # => -1
Rational(-7, 4).floor # => -2

precision を指定した場合は指定した桁数の数値と、上述の性質に最も近い整数か Rational を返します。



Rational('-123.456').floor(+1)       # => (-247/2)
Rational('-123.456').floor(+1).to_f  # => -123.5
Rational('-123.456').floor(0)        # => -124
Rational('-123.456').floor(-1)       # => -130

[SEE_ALSO] Rational#ceil, Rational#round, Rational#truncate