四舍五入到最近的十分之一?

Shp*_*ord 12 ruby math rounding

我需要四舍五入到最接近的十分之一.我需要的是ceil精确到小数点后第一位.

例子:

10.38 would be 10.4
10.31 would be 10.4
10.4 would be 10.4
Run Code Online (Sandbox Code Playgroud)

因此,如果它是超过十分之一的任何数量,它应该被四舍五入.

我正在运行Ruby 1.8.7.

Gum*_*mbo 29

这通常有效:

ceil(number*10)/10
Run Code Online (Sandbox Code Playgroud)

所以在Ruby中应该是这样的:

(number*10).ceil/10.0
Run Code Online (Sandbox Code Playgroud)


ktu*_*nio 7

Ruby的圆方法可以消耗精度:

10.38.round(1) # => 10.4
Run Code Online (Sandbox Code Playgroud)

在这种情况下,1会让你四舍五入到最接近的十分之一.

  • OP问道,10.31.round(1)=> 10.3而不是10.4. (3认同)