Project

General

Profile

Actions

Feature #10131

closed

Greatest multiple of r not greater than x

Added by sawa (Tsuyoshi Sawada) over 9 years ago. Updated over 9 years ago.

Status:
Feedback
Assignee:
-
Target version:
-
[ruby-core:64353]

Description

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:

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

3.7.floor(0.5) #=> 3.5
41.floor(6)    #=> 36

Updated by sawa (Tsuyoshi Sawada) over 9 years ago

And also a corresponding method that gives the least multiple of r not smaller than x would be helpful.

3.2.ceil(0.5) #=> 3.5
41.ceil(6)    #=> 42
Actions #2

Updated by nobu (Nobuyoshi Nakada) over 9 years ago

  • Description updated (diff)
  • Status changed from Open to Feedback

Rational#floor and BigDecimal#floor take a precision argument optionally, like as Float#round.

Actions

Also available in: Atom PDF

Like0
Like0Like0