[ruby]小数点n桁で四捨五入する


rubyで%表示の割合を出そうとする際に、整数同士の割り算をすると小数点以下が消えてしまいます。

irb(main):001:0> (11/33) * 100
=> 0

こういう場合は明示的にfloatに変換すれば小数点以下まで表示されます。

irb(main):001:0> (11.to_f/33) * 100
=> 33.33333333333333

小数点2桁で四捨五入する場合は

irb(main):001:0> ((11.to_f/33) * 100).round(2)
=> 33.33

というようにroundの引数にnを指定すると四捨五入されます。

参考