Actions
Feature #10131
closedGreatest multiple of r not greater than x
Status:
Feedback
Priority:
Normal
Assignee:
-
Target version:
-
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 8 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
Updated by nobu (Nobuyoshi Nakada) over 8 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
Like0
Like0Like0