Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library bigdecimal > class BigDecimal > round
round(n [, b])
クラスメソッド BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で指定した BigDecimal::ROUND_MODE に従って丸め操作を実行します。 BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で何も指定せず、 かつ、引数を指定しない場合は 「小数点以下第一位の数を四捨五入して整数(BigDecimal 値)」にします。
c = BigDecimal("1.23456").round # => 1 c = BigDecimal("-1.23456").round # => -1
以下のように引数を与えて、小数点以下 n+1 位の数字を操作することもできます。 n が正の時は、小数点以下 n+1 位の数字を丸めます(小数点以下を、最大 n 桁にします)。 n が負のときは小数点以上 n 桁目を丸めます(小数点位置から左に少なくとも n 個の 0 が並びます)。
c = BigDecimal("1.23456").round(4) # => 1.2346 c = BigDecimal("15.23456").round(-1) # => 20.0
2番目の引数を指定すると、BigDecimal#mode の指定を無視して、 指定された方法で丸め操作を実行します。
c = BigDecimal("1.23456").round(3,BigDecimal::ROUND_HALF_EVEN) # => 1.234 c = BigDecimal("1.23356").round(3,BigDecimal::ROUND_HALF_EVEN) # => 1.234