我想用Ruby(在Rails上)来"cap"一个数字.

例如,作为一个函数的结果,我有一个float,但我需要一个int.

我有非常具体的说明,以下是一些例子:

如果我得到1.5,我想要2,但如果我得到2.0,我想要2(而不是3)

number.round(0) + 1分是行不通的.

我可以写一个函数来实现这一点,但我确信已经存在了一个函数.

然而,如果它不存在,我应该在哪里创建cap函数?

推荐答案

试试ceil:

 1.5.ceil => 2
 2.0.ceil => 2

Ruby-on-rails相关问答推荐

使用turbo流的部分渲染在rails 7中不起作用.

Rails turbo流只更新页面上的一个元素

Rails 7,返回具有两个单独条件的活动记录关联,一个在父级,一个在子级

从Rails中的字符串中间提取子字符串

为什么 2 个关键字参数被解释为 1?

为什么是 json.partial!使用新的哈希语法传递本地时,jbuiler 模板中的行不执行?

序列化来自关联的不可变数据是个好主意吗?

Rails 和 jsonb 类型jsonb不存在

循环大量记录时 Ruby on Rails 内存泄漏; find_each 没有帮助

File.open,写入和保存?

具有条件的列的计数器缓存?

Rails 服务对象与 lib 类

是否有与 PHP 的 isset() 等效的 Rails?

Rails如何对列求和?

不带参数的 request.fullpath

如何在 Rails 应用程序中使用长 id?

如何显示 RSpec 测试生成的 SQL 查询日志(log)?

如果多态关联的类型列不指向 STI 的基本模型,为什么多态关联对 STI 不起作用?

Ruby on Rails 3:通过 Rails 将数据流式传输到客户端

Rails:您已经激活了 rake 10.3.1,但您的 Gemfile 需要 rake 10.2.2 (Gem::LoadError)