let displayValue = '0'; // 显示屏上的内容 let firstNumber = null; // 第一个数字 let secondNumber = null; // 第二个数字 let operation = null; // 运算符 let waitingForSecondNumber = false; // 更新显示 function updateDisplay() { const display = document.getElementById('display'); display.innerText = displayValue; } // 添加数字 function appendNumber(number) { if (waitingForSecondNumber) { displayValue = number.toString(); waitingForSecondNumber = false; } else { displayValue = displayValue === '0' ? number.toString() : displayValue + number.toString(); } updateDisplay(); } // 设置运算符 function setOperation(op) { if (firstNumber === null) { firstNumber = parseFloat(displayValue); } else if (operation) { secondNumber = parseFloat(displayValue); firstNumber = performCalculation(firstNumber, secondNumber, operation); displayValue = firstNumber.toString(); updateDisplay(); } operation = op; waitingForSecondNumber = true; } // 计算结果 function calculate() { if (operation && !waitingForSecondNumber) { secondNumber = parseFloat(displayValue); displayValue = performCalculation(firstNumber, secondNumber, operation).toString(); firstNumber = null; secondNumber = null; operation = null; updateDisplay(); } } // 执行计算 function performCalculation(num1, num2, operator) { switch (operator) { case '+': return num1 + num2; case '-': return num1 - num2; case '*': return num1 * num2; case '/': return num2 !== 0 ? num1 / num2 : '错误'; default: return num2; } } // 百分号处理 function percent() { displayValue = (parseFloat(displayValue) / 100).toString(); updateDisplay(); } // 添加小数点 function appendSymbol(symbol) { if (!displayValue.includes(symbol)) { displayValue += symbol; updateDisplay(); } } // 清除显示 function clearDisplay() { displayValue = '0'; firstNumber = null; secondNumber = null; operation = null; waitingForSecondNumber = false; updateDisplay(); }