diff --git a/calculator/calculator.app.js b/calculator/calculator.app.js index 4a0f464..c97bca5 100644 --- a/calculator/calculator.app.js +++ b/calculator/calculator.app.js @@ -206,6 +206,11 @@ function subtract(x, y) { return sum(x, -y); } +function fixFloat(n) { + if (Math.abs(n) < 1e-10) return 0; + return n; +} + function doMath(x, y, operator) { switch (operator) { case '/': @@ -366,14 +371,14 @@ function buttonPress(val) { if (angleMode === 'deg') { angle = angle * Math.PI / 180; } - results = Math.sin(angle); + results = fixFloat(Math.sin(angle)); displayOutput(results); } else if (currNumber != null) { let angle = currNumber; if (angleMode === 'deg') { angle = angle * Math.PI / 180; } - currNumber = Math.sin(angle); + currNumber = fixFloat(Math.sin(angle)); displayOutput(currNumber); } hasPressedNumber = false; @@ -384,14 +389,14 @@ function buttonPress(val) { if (angleMode === 'deg') { angle = angle * Math.PI / 180; } - results = Math.cos(angle); + results = fixFloat(Math.cos(angle)); displayOutput(results); } else if (currNumber != null) { let angle = currNumber; if (angleMode === 'deg') { angle = angle * Math.PI / 180; } - currNumber = Math.cos(angle); + currNumber = fixFloat(Math.cos(angle)); displayOutput(currNumber); } hasPressedNumber = false; @@ -402,14 +407,14 @@ function buttonPress(val) { if (angleMode === 'deg') { angle = angle * Math.PI / 180; } - results = Math.tan(angle); + results = fixFloat(Math.tan(angle)); displayOutput(results); } else if (currNumber != null) { let angle = currNumber; if (angleMode === 'deg') { angle = angle * Math.PI / 180; } - currNumber = Math.tan(angle); + currNumber = fixFloat(Math.tan(angle)); displayOutput(currNumber); } hasPressedNumber = false;