如何使用Javascript将整数上下舍入到最接近的10

如何使用Javascript将整数上下舍入到最接近的10,javascript,Javascript,使用Javascript,我想将用户传递的数字四舍五入到最接近的10。例如,如果通过了7,我应该返回10,如果通过了33,我应该返回30。将数字除以10,将结果四舍五入,再乘以10: var编号=33; 控制台日志(数学四舍五入(数字/10)*10)我需要类似的东西,所以我写了一个函数。我使用这个函数进行小数舍入,因为我也使用它进行整数舍入,所以我也会在这里将它设置为答案。在这种情况下,只需输入要舍入的数字,然后输入10,即要舍入的数字 function roundToNearest(numT

使用Javascript,我想将用户传递的数字四舍五入到最接近的10。例如,如果通过了7,我应该返回10,如果通过了33,我应该返回30。

将数字除以10,将结果四舍五入,再乘以10:

var编号=33;

控制台日志(数学四舍五入(数字/10)*10)我需要类似的东西,所以我写了一个函数。我使用这个函数进行小数舍入,因为我也使用它进行整数舍入,所以我也会在这里将它设置为答案。在这种情况下,只需输入要舍入的数字,然后输入10,即要舍入的数字

function roundToNearest(numToRound, numToRoundTo) {
    return Math.round(numToRound / numToRoundTo) * numToRoundTo;
}

其中
i
是一个int

四舍五入至10的最接近倍数,即

11变成10
19变成10
21变成20


四舍五入至10的最接近倍数,即

11变成20
19变成20
21变成30


使用
Math.floor
,此技术也有效。如果要防止向上舍入,可以使用Math.ceil方法进行向上舍入。我喜欢将其制作成函数,但这是否会与接受的答案产生不同的输出,如果不是,为什么要使用不同的公式?它返回相同的值,但公式不同,因为它更容易使用。例如,如果要四舍五入到最接近的
.25
,只需将
.25
用作第二个参数即可。如果你要使用其他答案中的公式,当你想四舍五入到
.25
时,你必须使用
4
作为第二个参数,这是违反直觉的。你能证明这一点吗?我刚刚在控制台中做了一些测试&接受的答案返回正确的答案,使用
.25
作为第二个参数-我将其制作成一个单线性函数
函数roundTo(x,y){return Math.round(x/y)*y}
@RozzA,你说得对。我在想另一个类似问题的答案。我将简化我的函数。它应该是:(parseInt(I/10,10)+1)*10@用户3924331,你是对的。正确答案是(parseInt(i/10,10)+1)*10;编辑内容必须至少包含6个字符,因此不能仅添加这两个括号。。。¯_(ツ)_/''最接近的10加上+10表示值100,因此它变为110。最接近的10不减去-10表示值100,因此100保持为100。当我10岁或以上时,这不起作用。更好的解决方案是数学。地板(i/10)*10
function roundToNearest(numToRound, numToRoundTo) {
    return Math.round(numToRound / numToRoundTo) * numToRoundTo;
}
parseInt(i / 10, 10) * 10;
parseInt(i / 10, 10) + 1 * 10;