Javascript: Round up to the next multiple of 5
I need a utility function that takes in an integer value (ranging from 2 to 5 digits in length) that rounds up to the next multiple of 5 instead of the nearest multiple of 5. Here is what I got:
function round5(x)
{
return (x % 5) >= 2.5 ? parseInt(x / 5) * 5 + 5 : parseInt(x / 5) * 5;
}
When I run round5(32)
, it gives me 30
, where I want 35.
When I run round5(37)
, it gives me 35
, where I want 40.
When I run round5(132)
, it gives me 130
, where I want 135.
When I run round5(137)
, it gives me 135
, where I want 140.
etc...
How do I do this?
This will do the work:
function round5(x)
{
return Math.ceil(x/5)*5;
}
It's just a variation of the common rounding number
to nearest multiple of x
function Math.round(number/x)*x
, but using .ceil
instead of .round
makes it always round up instead of down/up according to mathematical rules.
const roundToNearest5 = x => Math.round(x/5)*5
This will round the number to the nearest 5. To always round up to the nearest 5, use Math.ceil
. Likewise, to always round down, use Math.floor
instead of Math.round
.
You can then call this function like you would any other. For example,
roundToNearest5(21)
will return:
20