我需要一个实用函数,该函数接受一个整数值(长度在2到5位之间),该值四舍五入到下一个 5的倍数,而不是最近的 5的倍数。这是我得到的结果:

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

当我运行round5(32)时,它给了我30,我想要35。
当我运行round5(37)时,它给了我35,我想要40。

当我运行round5(132)时,它给了我130,我想要135。
当我运行round5(137)时,它给了我135,我想要140。

等等...

我该怎么做呢?

最佳答案

这将完成工作:

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

这只是普通舍入numberx函数Math.round(number/x)*x的最接近倍数的一种变体,但是使用.ceil而不是.round使其总是根据数学规则向上舍入而不是向下/向上舍入。

关于javascript - Javascript:舍入到5的下一个倍数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18953384/

10-10 14:17