Round
by João Rodrigues
HTML
<!DOCTYPE html>
<html>
<body>
<p id="rounded"></p>
<p>Addition</p>
<p id="resultAdd"></p>
<p id="resultAdd2"></p>
<p>Subtraction</p>
<p id="resultSub"></p>
<p id="resultSub2"></p>
</body>
</html>
JavaScript
function round(x, p) {
return parseFloat(x.toFixed(p));
};
var a = 5.0007;
var b = 2.048
var roundedA = round(5.0007, 3);
var roundedB = round(2.048, 2);
document.getElementById("rounded").innerHTML
= 'a = ' + roundedA + ', b = ' + roundedB;
// expected resultAdd: 7.051 - works fine
var resultAdd = round(5.0007, 3) + round(2.048, 2);
var resultAdd2 = roundedA + roundedB;
document.getElementById("resultAdd").innerHTML = resultAdd;
document.getElementById("resultAdd2").innerHTML = resultAdd2;
// expected result: 2.951
// obtained result: 2.9510000000000005
var resultSub = round(5.0007, 3) - round(2.048, 2);
var resultSub2 = roundedA - roundedB;
document.getElementById("resultSub").innerHTML = resultSub;
document.getElementById("resultSub2").innerHTML = resultSub2;