如果我有一个49.967的浮动,而我有.为了便于我使用磁盘空间分析,它会将其缩减到49.967是超过900mb的空间,在显示器中不会被考虑.

有没有一个函数可以将数字四舍五入到最接近的整数,或者我必须自己这样定义它:

class Float
  def to_nearest_i
    (self+0.5).to_i
  end
end

这样我就可以:

>> 5.44.to_nearest_i
=> 5
>> 5.54.to_nearest_i
=> 6

推荐答案

试试Float.round.

irb(main):001:0> 5.44.round
=> 5
irb(main):002:0> 5.54.round
=> 6

Ruby相关问答推荐

类似于模块的 attr_accessor 和 attr_reader 的东西?

如何在 Ruby 中反转数字的字节顺序

当 node 名称是/包含整数时,使用 Nokogiri 解析非 XML 文档

Python 正则表达式是否等同于 Ruby 的原子分组?

为什么 Rake 不能连续调用多个任务?

当没有传入块时,是否有更好的方法来防止屈服?

Nokogiri/Xpath 命名空间查询

如何通过 Rack 提供静态文件?

使用 Homebrew 安装 Ruby

ActionController::UnknownFormat

如何设置方法测试中使用的私有实例变量?

无法将 RVM 安装的 Ruby 与 sudo 一起使用

Ruby 模板:如何将变量传递到内联 ERB?

在 Ruby 中获取本月的最后一天

如何在 Ruby 中取消定义类?

如何使用密码保护我的 /sidekiq 路由(即需要对 Sidekiq::Web 工具进行身份验证)?

Ruby:捕获异常后继续循环

如何将 270921sec 转换为天 + 小时 + 分钟 + 秒? (Ruby)

Ruby 的 %q / %Q 引用方法的用例是什么?

如何解决/usr/bin/env: ruby​​_executable_hooks: No such file or directory?