我有一个介于0和100之间的数字变量,可能是像83.333334这样的数字。
我想要使用Math.Round
来舍入数字(例如Math.round(83.333334);
)。如何做到使结果始终可以被5整除(即在[0、5、10、15……85、90、95、100]集合中)?
我有一个介于0和100之间的数字变量,可能是像83.333334这样的数字。
我想要使用Math.Round
来舍入数字(例如Math.round(83.333334);
)。如何做到使结果始终可以被5整除(即在[0、5、10、15……85、90、95、100]集合中)?
function roundDownToMultiple(number, multiple) {
return number - (number % multiple);
}
roundDownToMultiple(86, 5); // 85
roundDownToMultiple(89, 5); // 85
roundDownToMultiple(96, 5); // 95
使用这个Math.round(Math.floor(Math.random() * 100) / 5) * 5
,你可以得到可以被5整除的数字。
var x = Math.round(83.333334);
x = x - (x % 5);
x = Math[x < 0 ? 'ceil' : 'floor'] (x/5) * 5;
试试这个。
Math.round(val / 5) * 5;
80
,我会使它变成82.5
,然后结果为85
,而最接近5的倍数仍应为80
。 - animuson