小数点以下N桁で四捨五入
.round
roundメソッドは、引数に小数点以下の桁数を渡し、それより下の桁を四捨五入
100.1111.round
# 出力結果 ==> 100
100.1111.round(1)
# 出力結果 ==> 100.1
100.3399.round(3)
# 出力結果 ==> 100.34
小数点以下N桁で切り上げ
.ceil
100.1111.ceil
# 出力結果 ==> 101
100.3333.ceil(1)
# 出力結果 ==> 100.4
100.3383.ceil(3)
# 出力結果 ==> 100.339
100.3399.ceil(3)
# 出力結果 ==> 100.34
小数点以下N桁で切り捨てっぽいこと
.floor
floorはずっと切り捨てだと思っていたんですが、正確には切り捨てっぽいことができるようです。
注意すべきは負の値です。-1.2
をfloorしたら-1
になってほしいところですが、これは-2
になります。
1.2
の場合は1
です。
これはつまり、より小さい値にまとめられるというわけですね。この挙動知らないと思わないところで想定外のことがおきます。
また、引数にはマイナスを取ることもできるので便利です。
1.2.floor # => 1
2.0.floor # => 2
(-1.2).floor # => -2
(-2.0).floor # => -2
1.234567.floor(2) # => 1.23
1.234567.floor(3) # => 1.234
1.234567.floor(4) # => 1.2345
1.234567.floor(5) # => 1.23456
34567.89.floor(-5) # => 0
34567.89.floor(-4) # => 30000
34567.89.floor(-3) # => 34000
34567.89.floor(-2) # => 34500
34567.89.floor(-1) # => 34560
34567.89.floor(0) # => 34567
34567.89.floor(1) # => 34567.8
34567.89.floor(2) # => 34567.89
34567.89.floor(3) # => 34567.89