小数第2位以下の切り捨て

達成率を小数第1位まで表示したかった。

当初下記のように記載していたが、四捨五入が行われるため、達成率が99.99%の場合、100.0%となってしまう。

sprintf("%.1f", numerator.to_f/denominator*100)

調べたところ、BigDecimalという可変長浮動小数点計算機能ライブラリがあるそうです。
下記のように記載すると、小数第2位以下の切り捨てが行えます。

sprintf("%.1f", BigDecimal("#{numerator.to_f/denominator*100}").floor(1))


参考:
BRAIN: Ruby on Rails 小数の表示桁数指定 切り捨て