Javascript计算器,输入新数字时如何清除以前的数字?
我正在用javascript编写计算器,遇到了一个问题 我想不出输入新号码时清除显示屏的代码 范例Javascript计算器,输入新数字时如何清除以前的数字?,javascript,calculator,Javascript,Calculator,我正在用javascript编写计算器,遇到了一个问题 我想不出输入新号码时清除显示屏的代码 范例 按3(屏幕上有3个apear) 按+/-/*/(将3保存到num1并设置一个操作,则屏幕清晰。) 按4(屏幕上有4个apear) 按另一个+(将4保存到num2,求解(num1+num2),然后将答案保存回num1) --这里是一个问题,我不知道如何在输入新号码时清除显示。系统解决问题后,会将答案显示在屏幕上,当我输入一个新数字时,它会与答案叠加。假设答案是45,我想减去56,输入数字显示将显
- 按3(屏幕上有3个apear)
- 按+/-/*/(将3保存到num1并设置一个操作,则屏幕清晰。)
- 按4(屏幕上有4个apear)
- 按另一个+(将4保存到num2,求解(num1+num2),然后将答案保存回num1)
- 按52(52出现)
- 按+/-/*/(52仍在显示中,操作设置在后台)
- 按下42(52为踢出,并用42替换)
- 按+(屏幕上显示应答并停留在那里)
- 输入另一个号码(答案清除,屏幕显示新号码)
计算器
您可以添加另一个名为lastPress
的var
内部calculation()
设置lastPress=calculation
。
在numPress()
和pressure()
中,您可以将其设置为其他内容
然后在numPress()
内检查最后一次按下是否为计算
,如果是,则将其清除
逻辑是,如果有人计算了一个数字(它会显示在屏幕上),然后他们做的下一件事就是输入一个数字,它就会清除屏幕。我相信这就是你想要实现的
如果您想要稍微不同的结果,可以修改lastPress的位置/逻辑 你能添加你的HTML代码,这样我们就可以重现这个问题吗?当然,没问题。这和Java有什么关系?对不起,是javascript的意思。我会尽快拿出标签。
var num1;
var num2;
var operation;
function numPress(num){
var current = document.getElementById("display").value;
current = current + num;
document.getElementById("display").value = current;
}
function opPress(opcode){
var current = document.getElementById("display").value;
current = parseInt(document.getElementById("display").value);
if( num1== null){
num1 = current;
operation= opcode;
document.getElementById("display").value = null;
}
else{
num2 = current;
if (operation == "+" ){
var equal = ( num1 + num2 );
num1 = equal;
operation= opcode;
document.getElementById("display").value = num1;
}
if (operation == "-" ){
var equal = ( num1 - num2 );
num1 = equal;
operation= opcode;
document.getElementById("display").value = num1;
}
if (operation == "*" ){
var equal = ( num1 * num2 );
num1 = equal;
operation= opcode;
document.getElementById("display").value = num1;
}
if (operation == "/" ){
var equal = ( num1 / num2 );
num1 = equal;
operation= opcode;
document.getElementById("display").value = num1;
}
}
}
function calculation(){
var current = document.getElementById("display").value;
current = parseInt(document.getElementById("display").value);
num2 = current;
if (operation == "+" ){
var equal = ( num1 + num2 );
document.getElementById("display").value = equal;
}
if (operation == "-" ){
var equal = ( num1 - num2 );
document.getElementById("display").value = equal;
}
if (operation == "*" ){
var equal = ( num1 * num2 );
document.getElementById("display").value = equal;
}
if (operation == "/" ){
var equal = ( num1 / num2 );
document.getElementById("display").value = equal;
}
}
function calculation(){
var current= document.getElementById("display").value;
num1 = null;
num2 = null;
var no = null;
document.getElementById("display").value = no;
}
<!DOCTYPE html>
<html>
<head>
<title>Calculator</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<table>
<tr>
<input id="display" type ="text" value="" onkeydown="return false;">
</tr>
<tr>
<td></td><td></td><td></td>
<td colspan="5"><input id="c" type="button" value = "DEL" onclick = "cls();"></td>
</tr>
<tr>
<td></td><td></td><td></td>
<td><input id="b" type="button" value = "7" onclick = "numPress('7');"></td>
<td><input id="b" type="button" value = "8" onclick = "numPress('8');"></td>
<td><input id="b" type="button" value = "9" onclick = "numPress('9');"></td>
<td><input id="a" type="button" value = "+" onclick = "opPress('+');"></td>
<td></td><td></td><td></td>
</tr>
<tr>
<td></td><td></td><td></td>
<td><input id="b" type="button" value = "4" onclick = "numPress('4');"></td>
<td><input id="b" type="button" value = "5" onclick = "numPress('5');"></td>
<td><input id="b" type="button" value = "6" onclick = "numPress('6');"></td>
<td><input id="a" type="button" value = "-" onclick = "opPress('-');"></td>
<td></td><td></td><td></td>
</tr>
<tr>
<td></td><td></td><td></td>
<td><input id="b" type="button" value = "1" onclick = "numPress('1');"></td>
<td><input id="b" type="button" value = "2" onclick = "numPress('2');"></td>
<td><input id="b" type="button" value = "3" onclick = "numPress('3');"></td>
<td><input id="a" type="button" value = "*" onclick = "opPress('*')"></td>
<td></td><td></td><td></td>
</tr>
<tr>
<td></td><td></td><td></td>
<td><input id="b" type="button" value = "0" onclick = "numPress('0');"></td>
<td><input id="a1" type="button" value = "." onclick = "numPress('.');"></td>
<td><input id="a2" type="button" value = "=" onclick = "calculation('=');"></td>
<td><input id="a" type="button" value = "/" onclick = "opPress('/');"></td>
<td></td><td></td><td></td>
</tr>
</table>
</body>
</html>