いくつかのレガシーコードで次の(奇妙な)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;
}