Techioz Blog

浮動小数点数を切り上げずに切り捨てる

概要

浮動小数点数があるので、3 桁まで切り捨てたいのですが、四捨五入したくありません。

たとえば、1.0155555555555555 を 1.016 ではなく 1.015 に変換します。

Ruby でこれを行うにはどうすればよいでしょうか?

解決策

BigDecimal に変換し、それに対して truncate を呼び出すこともできます。

1.237.to_d.truncate(2).to_f # will return 1.23