Результат калькулятора - мой результат содержит лишнее число (мое второе число)Javascript

Форум по Javascript
Ответить
Anonymous
 Результат калькулятора - мой результат содержит лишнее число (мое второе число)

Сообщение Anonymous »

Я пишу калькулятор с помощью javascript, когда я хочу отобразить результат расчета, результат содержит дополнительное число (мое второе число отображается рядом с результатом). Результат содержит результат + секнум

Код: Выделить всё

let memory = document.getElementById('memory');
let num = document.getElementById('inp-num');
let firstnum = 0;
let secnum = 0;
let operand = '';
let result = 0;

let numbutt = document.querySelector('#numbers');
numbutt.addEventListener('click', (event) => {
let target = event.target;
switch (target.value) {
case '1':
num.value += '1';
break;
case '2':
num.value += '2';
break;
case '3':
num.value += '3';
break;
case '4':
num.value += '4';
break;
case '5':
num.value += '5';
break;
case '6':
num.value += '6';
break;
case '7':
num.value += '7';
break;
case '8':
num.value += '8';
break;
case '9':
num.value += '9';
break;
case '0':
num.value += '0';
break;
case '.':
num.value += '.';
break;
}
})

let opbutt = document.querySelector('.ver-op');
opbutt.addEventListener('click', (event) => {
let target = event.target;
switch (target.value) {
case '*':
firstnum = num.value;
operand = '*';
memory.textContent = firstnum + operand;
num.value = '';
break;
case '-':
firstnum = num.value;
operand = '-';
memory.textContent = firstnum + operand;
num.value = '';
break;
case '+':
firstnum = num.value;
operand = '+';
memory.textContent = firstnum + operand;
num.value = '';
break;
case '/':
firstnum = num.value;
operand = '/';
memory.textContent = firstnum + operand;
num.value = '';
break;
}
})

let eq = document.querySelector('.equal');
eq.addEventListener('click', (event) => {
secnum = num.value;
result = 0;
memory.textContent = (firstnum) + operand + (secnum);
if (operand == '/') {
result = Number(firstnum) / Number(secnum);
num.value = num.value.toFixed(2);
} else if (operand == '*') {
result = Number(firstnum) * Number(secnum);
} else if (operand == '+') {
result = Number(firstnum) + Number(secnum);
} else if (operand == '-') {
result = Number(firstnum) - Number(secnum);
}
num.value = result;

firstnum = result;
})

let clear = document.querySelector('.clearbutt');
clear.addEventListener('click', (event) => {
firstnum = '';
secnum = '';
operand = '';
num.value = '';
memory.textContent = '';
})

let calckey = document.getElementById('calc-container');
calckey.addEventListener('keypress', (event) => {
if (event.key === 'Enter') {
secnum = num.value;
result = 0;
if (operand === '/') {
result = Number(firstnum) / Number(secnum);
} else if (operand === '*') {
result = Number(firstnum) * Number(secnum);
} else if (operand === '+') {
result = Number(firstnum) + Number(secnum);
} else if (operand === '-') {
result = Number(firstnum) - Number(secnum);
}
num.value = result;
memory.textContent = (firstnum) + operand + (secnum);
firstnum = result;
}
})

Код: Выделить всё






online-calculator











%
CE
C
1   / x
x2
√


[img]/icons8-rewind-button-round-50.png[/img]

=




1
2
3
4
5
6
7
8
9
+/-
0
.

*
-
+
/







например: 8 * 5 = 40, но мой результат 405. Второе число присоединяется к моему номеру результата.
это происходит только тогда, когда я использую событие нажатия клавиши.
пока я использую событие по клику, оно работает

Подробнее здесь: https://stackoverflow.com/questions/797 ... ond-number
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»