我在一些遗留代码中看到了以下(奇怪的)Javascript 舍入函数。在谷歌搜索之后,我可以看到它出现在网上的许多地方。但是我无法弄清楚为什么存在硬编码值 8191 和 10485 。
有谁知道包含这些值是否有任何合理的理由?如果没有,希望我们能杀死模因!
function roundNumber(num,dec) {
var newnumber = 0;
if (num > 8191 && num < 10485) {
num = num-5000;
newnumber = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
newnumber = newnumber+5000;
} else {
newnumber = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
}
return newnumber;
}