次のようにfloat値を丸めようとしています。
(0.11 + 0.22 + 0.23 / 3).round(2)
切り上げる他の効果的な方法があるかどうか誰かが知っていますか?
Ruby で浮動小数点数を丸める主な方法は、Float#round
メソッドまたはString#%
(フォーマット) 演算子を使用することです。例えば:
f = (0.11 + 0.22 + 0.23 / 3) # => 0.4066666666666667
f.round(2) # => 0.41
"%.02f" % f # => "0.41"
常に切り上げ、決して切り下げたくない場合は、次のようにすることができます。
(0.411 * 100).ceil / 100.0 # => 0.42
それ以外の場合は、 を使用してround
ください。または、フロートが文字列に変わっても構わない場合は、文字列フォーマッタを使用してください。