Update 2.0 Calculator.html

pull/954/head
Sanket Bharadwaj 1 year ago committed by GitHub
parent 7daa11025b
commit c63849e7e5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -82,11 +82,11 @@
<button class="clear" onclick="clearAll()">AC</button>
<button class="clear" onclick="clearEntry()">C</button>
<button class="operator" onclick="appendOperator('%')">%</button>
<button class="toggle-sign" onclick="toggleSign()">+/-</button>
<button class="operator" onclick="appendOperator('÷')">÷</button>
<button onclick="appendDigit('7')">7</button>
<button onclick="appendDigit('8')">8</button>
<button onclick="appendDigit('9')">9</button>
<button class="operator" onclick="appendOperator('÷')">÷</button>
<button class="operator" onclick="appendOperator('×')">×</button>
<button onclick="appendDigit('4')">4</button>
<button onclick="appendDigit('5')">5</button>
<button onclick="appendDigit('6')">6</button>
@ -95,8 +95,9 @@
<button onclick="appendDigit('2')">2</button>
<button onclick="appendDigit('3')">3</button>
<button class="operator" onclick="appendOperator('+')">+</button>
<button onclick="appendDigit('0')" style="grid-column: span 2;">0</button>
<button onclick="appendDigit('0')">0</button>
<button onclick="appendDigit('.')">.</button>
<button class="toggle-sign" onclick="toggleSign()">+/-</button>
<button class="equals" onclick="calculate()">=</button>
</div>
</div>
@ -190,18 +191,24 @@
clearAll();
return;
}
operator = '';
previousInput = '';
currentInput = '';
let lastValidInput = '';
let buffer = '';
for (let item of history) {
if (/[0-9.]/.test(item)) {
currentInput += item;
lastValidInput = currentInput;
} else if (item !== '+/-') {
if (item === '+/-') {
buffer = buffer
? (buffer.startsWith('-') ? buffer.slice(1) : '-' + buffer)
: '-';
} else if (/[0-9.]/.test(item)) {
buffer += item;
} else {
previousInput = buffer;
operator = item;
previousInput = lastValidInput;
currentInput = '';
buffer = '';
}
}
currentInput = buffer;
expression = operator ? `${previousInput}${operator}${currentInput}` : currentInput || '0';
} else {
clearAll();

Loading…
Cancel
Save