基于JavaScript的计算器(简单)
在文本字段中,需要指定值按按钮数一数。我不明白为何不这样想?原则上,您需要通过一个开关来实现它,但我不理解为什么不计算运算:+,-,*/基于JavaScript的计算器(简单),javascript,Javascript,在文本字段中,需要指定值按按钮数一数。我不明白为何不这样想?原则上,您需要通过一个开关来实现它,但我不理解为什么不计算运算:+,-,*/ <p> <label for="text1">FirstNum</label> <input type="text" id="text1"><br> <label for="operation">Operation</label> <input t
<p>
<label for="text1">FirstNum</label>
<input type="text" id="text1"><br>
<label for="operation">Operation</label>
<input type="text" id="operation"><br>
<label for="text2">SecondNum</label>
<input type="text" id="text2"><br>
<label for="text3">Result</label>
<input type="text" id="text3"><br><br>
<input type="button" value="ClickResult" onclick="Calc()">
</p>
<script>
function Calc(operation) {
//var op;
switch(operation) {
case '+':
text3.value = text1.value + text2.value;
break;
case '-':
text3.value = text1.value - text2.value;
break;
case '/':
text3.value = text1.value / text2.value;
break;
case '*':
text3.value = text1.value * text2.value;
break;
}
}
</script>
第一个
活动
第二个
结果
功能计算(操作){
//var-op;
开关(操作){
格“+”:
text3.value=text1.value+text2.value;
打破
案例'-':
text3.value=text1.value-text2.value;
打破
案例“/”:
text3.value=text1.value/text2.value;
打破
案例“*”:
text3.value=text1.value*text2.value;
打破
}
}
您需要获得文本框的值,如下所示:
var text1 = document.getElementById('text1').value;
document.getElementById('text3').value = result of the calculation
但是您得到的值是字符串格式的,因此需要将其转换为int或float,因此必须将其键入int或float,如下所示:
text1 = parseFloat(text1);
然后在结果框中给出如下值:
var text1 = document.getElementById('text1').value;
document.getElementById('text3').value = result of the calculation
或者另一种方式是:
var result = document.getElementById('text3');
result.value = result of computation
第一个
活动
第二个
结果
函数计算(){
var text1=document.getElementById('text1').value;
var text2=document.getElementById('text2').value;
var operation=document.getElementById('operation')。值;
var text3=document.getElementById('text3');
text1=parseFloat(text1);
text2=parseFloat(text2);
//var-op;
开关(操作){
格“+”:
text3.value=text1+text2;
打破
案例'-':
text3.value=text1-text2;
打破
案例“/”:
text3.value=text1/text2;
打破
案例“*”:
text3.value=text1*text2;
打破
}
}
1。我认为你需要澄清你的问题,因为我发现它不清楚。2.显示Calc
的输入示例。3. <代码>值字段通常是字符串。您需要先将它们解析为数字,然后才能对它们进行数学运算。您不必将字符串强制为数字,只需在一元运算符前面加上前缀+
,这样text1=parseFloat(text1)
就可以是text1=+text1
。一般来说,我建议避免使用parseInt()
或parseFloat()
,因为JavaScript中的所有数字都是遵循标准的浮点数。parseInt()
和parseFloat()
有使用案例,但这不应该是其中之一。@spex感谢您提供的信息,也许您是对的,我将parseFloat重做为+text1和+text2