我有一个介于0和100之间的数字变量。它可能类似于83.333334。
我想使用Math.Round
对数字进行舍入(例如Math.round(83.333334);
)。我该怎么做才能使结果总是被5整除(即在[0,5,10,15 ...... 85,90,95,100]中设置?)
答案 0 :(得分:27)
答案 1 :(得分:2)
使用modulus operator将您的号码“舍入”为5的倍数,请参阅下面的示例。
var x = Math.round(83.333334);
x = x - (x % 5);
如果你想“向零”(并且负数的正确值也是如此),请使用以下内容:
x = Math[x < 0 ? 'ceil' : 'floor'] (x/5) * 5;
答案 2 :(得分:2)
function roundDownToMultiple(number, multiple) {
return number - (number % multiple);
}
roundDownToMultiple(86, 5); // 85
roundDownToMultiple(89, 5); // 85
roundDownToMultiple(96, 5); // 95
答案 3 :(得分:2)
使用此Math.round(Math.floor(Math.random() * 100) / 5) * 5
您可以将数字整除为5。
答案 4 :(得分:1)
试一试。
Math.round(val / 5) * 5;