小数第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))