【发布时间】:2009-11-05 22:46:40
【问题描述】:
使用 Javascript,我想将用户传递的数字四舍五入到最接近的 10。例如,如果传递了 7,我应该返回 10,如果传递了 33,我应该返回 30。
【问题讨论】:
标签: javascript
使用 Javascript,我想将用户传递的数字四舍五入到最接近的 10。例如,如果传递了 7,我应该返回 10,如果传递了 33,我应该返回 30。
【问题讨论】:
标签: javascript
将数字除以10,将结果四舍五入再乘以10,例如:
33 / 10 = 3.33.3 rounded = 33 × 10 = 30console.log(Math.round(prompt('Enter a number', 33) / 10) * 10);
【讨论】:
Math.floor
Math.round(x / 10) * 10
【讨论】:
i 是一个整数。
向下舍入到最接近的 10 的倍数,即
11 变成 10
19变成10
21 变成 20
parseInt(i / 10, 10) * 10;
四舍五入到最接近的 10 的倍数,即
11 变成 20
19变成20
21 变成 30
parseInt(i / 10, 10) + 1 * 10;
【讨论】:
我需要类似的东西,所以我写了一个函数。我将函数用于小数舍入here,由于我也将其用于整数舍入,所以我也将其设置为这里的答案。在这种情况下,只需传入要四舍五入的数字,然后传入要四舍五入的数字 10。
function roundToNearest(numToRound, numToRoundTo) {
return Math.round(numToRound / numToRoundTo) * numToRoundTo;
}
【讨论】:
.25,您可以简单地使用.25 作为第二个参数。如果您要在其他答案中使用公式,则当您想要四舍五入到 .25 时,您必须使用 4 作为第二个参数,这是违反直觉的。
.25 作为第二个参数返回正确答案 - 我把它变成了一个线性函数function roundTo(x,y){return Math.round(x / y) * y}