instance method Float#round

round(ndigits = 0) -> Integer | Float[permalink][rdoc][edit]
round(ndigits = 0, half: :up) -> Integer | Float

自身ともっとも近い整数もしくは実数を返します。

中央値 0.5, -0.5 はそれぞれ 1,-1 に切り上げされます。いわゆる四捨五入ですが、偶数丸めではありません。

[PARAM] ndigits:
丸める位を指定します。 ndigitsが0ならば、小数点以下を四捨五入し、整数を返します。 ndigitsが0より大きいならば、小数点以下の指定された位で四捨五入されます。 ndigitsが0より小さいならば、小数点以上の指定された位で四捨五入されます。
[PARAM] half:
ちょうど半分の値の丸め方を指定します。サポートされている値は以下の通りです。
  • :up or nil: 0から遠い方に丸められます。
  • :even: もっとも近い偶数に丸められます。
  • :down: 0に近い方に丸められます。
[RETURN]
指定された引数に応じて、整数もしくは実数を返します。 ndigitsが0ならば、整数を返します。 ndigitsが0より大きいならば、実数を返します。 ndigitsが0より小さいならば、整数を返します。
[EXCEPTION] TypeError:
ndigits で指定されたオブジェクトが整数に変換できない場合発生します。


1.0.round      # => 1
1.2.round      # => 1
(-1.2).round   # => -1
(-1.5).round   # => -2

t = Math::PI # => 3.141592653589793
t.round(3)   # => 3.142
t.round(0)   # => 3
t.round(1)   # => 3.1

t = t**10      # => 93648.04747608298
t.round(-0)    # => 93648
t.round(-1)    # => 93650
t.round(-2)    # => 93600
t.round(-3)    # => 94000
t.round(-100)  # => 0

2.5.round(half: :up)   # => 3
2.5.round(half: :even) # => 2
2.5.round(half: :down) # => 2
3.5.round(half: :up)   # => 4
3.5.round(half: :even) # => 4
3.5.round(half: :down) # => 3

[SEE_ALSO] Float#ceil, Float#floor, Float#truncate