calc: только сложение и вычитание
This commit is contained in:
parent
7203eca882
commit
a71bf80a04
25
index.html
25
index.html
@ -97,25 +97,20 @@ body {
|
||||
<div class="calc">
|
||||
<div class="display" id="display">0</div>
|
||||
<div class="buttons">
|
||||
<button class="btn btn-clear" id="clear">C</button>
|
||||
<button class="btn btn-op" data-op="±">±</button>
|
||||
<button class="btn btn-op" data-op="%">%</button>
|
||||
<button class="btn btn-op" data-op="÷">÷</button>
|
||||
|
||||
<button class="btn btn-num" data-num="7">7</button>
|
||||
<button class="btn btn-num" data-num="8">8</button>
|
||||
<button class="btn btn-num" data-num="9">9</button>
|
||||
<button class="btn btn-op" data-op="×">×</button>
|
||||
<button class="btn btn-op" data-op="−">−</button>
|
||||
|
||||
<button class="btn btn-num" data-num="4">4</button>
|
||||
<button class="btn btn-num" data-num="5">5</button>
|
||||
<button class="btn btn-num" data-num="6">6</button>
|
||||
<button class="btn btn-op" data-op="−">−</button>
|
||||
<button class="btn btn-op" data-op="+">+</button>
|
||||
|
||||
<button class="btn btn-num" data-num="1">1</button>
|
||||
<button class="btn btn-num" data-num="2">2</button>
|
||||
<button class="btn btn-num" data-num="3">3</button>
|
||||
<button class="btn btn-op" data-op="+">+</button>
|
||||
<button class="btn btn-clear" id="clear">C</button>
|
||||
|
||||
<button class="btn btn-num btn-zero" data-num="0">0</button>
|
||||
<button class="btn btn-num" data-num=".">.</button>
|
||||
@ -149,8 +144,6 @@ document.querySelectorAll('[data-num]').forEach(btn => {
|
||||
document.querySelectorAll('[data-op]').forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
const op = btn.dataset.op;
|
||||
if (op === '±') { current = String(parseFloat(current) * -1); updateDisplay(current); return; }
|
||||
if (op === '%') { current = String(parseFloat(current) / 100); updateDisplay(current); return; }
|
||||
if (previous !== '' && !resetDisplay) compute();
|
||||
previous = current;
|
||||
operation = op;
|
||||
@ -179,14 +172,10 @@ function compute() {
|
||||
const b = parseFloat(current);
|
||||
if (isNaN(a) || isNaN(b)) return;
|
||||
let result;
|
||||
switch (operation) {
|
||||
case '+': result = a + b; break;
|
||||
case '−': result = a - b; break;
|
||||
case '×': result = a * b; break;
|
||||
case '÷': result = b !== 0 ? a / b : 'Ошибка'; break;
|
||||
default: return;
|
||||
}
|
||||
current = typeof result === 'number' ? String(Math.round(result * 1e10) / 1e10) : result;
|
||||
if (operation === '+') result = a + b;
|
||||
else if (operation === '−') result = a - b;
|
||||
else return;
|
||||
current = String(Math.round(result * 1e10) / 1e10);
|
||||
updateDisplay(current);
|
||||
resetDisplay = true;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user