如何舍入浮点值

时间:2012-12-05 03:58:30

标签: ruby rounding

我正在尝试对浮点值进行舍入,如下所示:

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

有没有人知道是否有其他有效的方法进行整理?

2 个答案:

答案 0 :(得分:2)

在Ruby中舍入浮点数的主要方法是Float#round methodString#% (format) operator。例如:

f = (0.11 + 0.22 + 0.23 / 3) # => 0.4066666666666667
f.round(2)  # =>  0.41
"%.02f" % f # => "0.41"

答案 1 :(得分:1)

如果你总是想要整理并且永远不会失败,你可以这样做:

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

否则只需使用round。如果你不介意你的浮动变成一个字符串,请使用字符串格式化程序。