diff --git a/Calculator/Pratik1968/main.js b/Calculator/Pratik1968/main.js index 8ef9c5b53..400f421d0 100644 --- a/Calculator/Pratik1968/main.js +++ b/Calculator/Pratik1968/main.js @@ -2,13 +2,12 @@ let value = "" let ans = 0 - function setInput() { let input = document.getElementById("ans"); input.value = value } -window.onload = function() { +window.onload = function () { setInput() } @@ -22,7 +21,6 @@ function NumberButtonClick(number) { value += number } - setInput() } @@ -35,7 +33,6 @@ function isOperator(value) { } function functionButton(Function) { - let input = document.getElementById("ans"); if (input.value == "" || input.value == null) { return; } let lastChar = value[value.length - 1]; @@ -44,7 +41,6 @@ function functionButton(Function) { return; } - switch (Function) { case functionVar.add: if (lastChar !== "+") @@ -59,7 +55,12 @@ function functionButton(Function) { value += "x"; break; case functionVar.equal: - ans = eval(value.replace("x", "*").replace("%", "*1/100").replace("^", "**")); + ans = eval( + value + .replace(/x/g, "*") + .replace(/%/g, "*1/100") + .replace(/\^/g, "**") + ); value = ans; break; case functionVar.division: @@ -81,12 +82,15 @@ function functionButton(Function) { value = value.slice(0, -1) break; case functionVar.decimal: - if (lastChar !== "." && !value.includes('.')) + let parts = value.split(/[\+\-\x\/\%\^]/); // split by any operator + let currentPart = parts[parts.length - 1]; + + if (!currentPart.includes(".")) { value += "."; + } break; - } + } setInput() - -} \ No newline at end of file +}