diff --git a/calculator/calculator.app.js b/calculator/calculator.app.js index 78f4b2d..286df98 100644 --- a/calculator/calculator.app.js +++ b/calculator/calculator.app.js @@ -167,6 +167,17 @@ function drawSpecials() { function getIntWithPrecision(x) { var xStr = x.toString(); + if (xStr.indexOf('e') > -1) { + var parts = xStr.split('e'); + var mantissa = parts[0]; + var exponent = parseInt(parts[1], 10); + var mantissaRadix = mantissa.indexOf('.'); + var mantissaPrecision = mantissaRadix === -1 ? 0 : mantissa.length - mantissaRadix - 1; + return { + num: parseInt(mantissa.replace('.', ''), 10), + p: mantissaPrecision - exponent + }; + } var xRadix = xStr.indexOf('.'); var xPrecision = xRadix === -1 ? 0 : xStr.length - xRadix - 1; return {