将浮点数舍入为ruby中最接近的整数

Arc*_*ath 63 ruby

如果我有一个49.967的浮点数并且我做.to_i它会将它砍成49,这对我使用磁盘空间分析.967超过900mb的空间不会在显示器中占用.

是否有一个函数将数字舍入到最接近的整数,或者我必须像我这样定义它自己:

class Float
  def to_nearest_i
    (self+0.5).to_i
  end
end
Run Code Online (Sandbox Code Playgroud)

这样我就可以这样做:

>> 5.44.to_nearest_i
=> 5
>> 5.54.to_nearest_i
=> 6
Run Code Online (Sandbox Code Playgroud)

det*_*zed 116

试试Float.round.

irb(main):001:0> 5.44.round
=> 5
irb(main):002:0> 5.54.round
=> 6
Run Code Online (Sandbox Code Playgroud)