我正在尝试按如下方式舍入一个浮点值:
(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
. 或者,如果您不介意将浮点数转换为字符串,请使用字符串格式化程序。