Javascript:向上舍入到下一个 5 的倍数

2022-08-30 02:09:09

我需要一个实用程序函数,该函数采用整数值(长度范围为2到5位),该值向上舍入到5的下一个倍数,而不是最接近的5的倍数。这是我得到的:

function round5(x)
{
    return (x % 5) >= 2.5 ? parseInt(x / 5) * 5 + 5 : parseInt(x / 5) * 5;
}

当我跑步时,它给了我,我想要35。
当我跑步时,它会给我,我想要40个。round5(32)30round5(37)35

当我跑步时,它会给我,我想要135。
当我跑步时,它会给我,我想要140。round5(132)130round5(137)135

等。。。

我该怎么做?


答案 1

这将完成以下工作:

function round5(x)
{
    return Math.ceil(x/5)*5;
}

它只是函数最接近的倍数的常见舍入的变体,但是使用而不是使它总是根据数学规则向上舍入而不是向下/向上舍入。numberxMath.round(number/x)*x.ceil.round


答案 2
const roundToNearest5 = x => Math.round(x/5)*5

这会将数字舍入到最接近的 5。要始终向上舍入到最接近的 5,请使用 。同样,要始终向下舍入,请使用 代替 。然后,您可以像调用任何其他函数一样调用此函数。例如Math.ceilMath.floorMath.round

roundToNearest5(21)

将返回:

20