From: nobu@... Date: 2014-08-14T07:23:20+00:00 Subject: [ruby-core:64355] [ruby-trunk - Feature #10131] [Feedback] Greatest multiple of r not greater than x Issue #10131 has been updated by Nobuyoshi Nakada. Description updated Status changed from Open to Feedback `Rational#floor` and `BigDecimal#floor` take a `precision` argument optionally, like as `Float#round`. ---------------------------------------- Feature #10131: Greatest multiple of r not greater than x https://bugs.ruby-lang.org/issues/10131#change-48331 * Author: Tsuyoshi Sawada * Status: Feedback * Priority: Normal * Assignee: * Category: * Target version: ---------------------------------------- It happens too often to me that I want to calculate the greatest multiple of numeric r not greater than numeric x. This can be done by a simple operation below: ~~~ruby x, r = 3.7, 0.5 x.div(r).*(r) #=> 3.5 x, r = 41, 6 x.div(r).*(r) #=> 36 ~~~ but I encounter this operation so often that I think it is an essential operation, and should be done as a single operation. Can any of the existing zero-ary operation be extended to take an optional argument to do this calculation? For example ~~~ruby 3.7.floor(0.5) #=> 3.5 41.floor(6) #=> 36 ~~~ -- https://bugs.ruby-lang.org/