-2

我正在尝试按如下方式舍入一个浮点值:

(0.11 + 0.22 + 0.23 / 3).round(2)

有谁知道是否有其他有效的方法来四舍五入?

4

2 回答 2

2

在 Ruby 中舍入浮点数的主要方法是通过Float#round方法String#%(格式)运算符。例如:

f = (0.11 + 0.22 + 0.23 / 3) # => 0.4066666666666667
f.round(2)  # =>  0.41
"%.02f" % f # => "0.41"
于 2012-12-05T04:22:13.540 回答
1

如果你总是想向上取整,从不向下取整,你可以这样做:

(0.411 * 100).ceil / 100.0 # => 0.42

否则只需使用round. 或者,如果您不介意将浮点数转换为字符串,请使用字符串格式化程序。

于 2012-12-05T04:27:57.170 回答