I'm facing an issue, and i would love if some one explains me what is going wrong with my function.
see the code below:
if i run => number(10000.88, 2)
Can anyone explain me why to output 10000.87 instead of 10000.88
where if i run number(11111.88, 2) the output is correct 11111.88 all other outputs are correct.
function number(value, decPos) {
return Math.floor(Math.abs(value) * Math.pow(10, decPos)) / Math.pow(10, decPos);
}
document.write("<div>" + number(10, 2) + '</div>');
document.write("<div>" + number(10.8888, 2) + '</div>');
document.write("<div>" + number(100.8888, 2) + '</div>');
document.write("<div>" + number(1000.88, 2) + '</div>');
document.write("<div>" + number(10000.888, 2) + '</div>');
// magic
document.write("<div>" + number(10000.88, 2) + '</div>');
document.write("<div>" + number(100000.8888, 2) + '</div>');
// magic
document.write("<div>" + number(8368.88, 2) + '</div>');
document.write("<div>" + number(11111.8888, 2) + '</div>');
document.write("<div>" + number(11111.88, 2) + '</div>');
<div id="result"></div>