计算器使用JavaScript代码

时间:2015-03-12 23:59:55

标签: javascript html css

我正在尝试使用Javascript制作一个小型计算器,但这两个数字不会被添加或减去,它只会被连接起来,例如,如果我想添加2 + 2它的输出" 22"不是4.,这是代码:

    <!DOCTYPE html>
    <html>
    <head>
   <title>Hello!</title>
   </head>
   <script>

  function getResult()
  {
  var result1 = document.getElementById("number1").value;
  var result3 = document.getElementById ("op1").value;

   var result2 = document.getElementById("number2").value;

    calculate (result1,result3,result2);
   }

  function calculate(num1,operator,num2)
   {

   if (operator== '+')
   {
    var res1 = num1+num2;
    alert(res1);

    }
   else if (operator== '-')
   {
    var res2 = num1-num2;
    alert(res2);

    }
    else if (operator== '*')
    {
    var res3 = num1*num2;
    alert(res3);

    }
   else if (operator== '/')
    {
    var res4 = num1/num2;
    alert(res4);
     }

   else
     {
    alert("Nothing from above!");
    }

    }
    </script>

    <body>
    <form action="get" method="#">
    <input type="text" name="text1" value="" id="number1"  />
    <input type="text" name="text2" value="" id="number2" />  <br />

  <input type="button" name="o1" value="+" id="op1" onclick="getResult();"/>
  <input type="button" name="o2" value="-" id="op2" onclick="getResult();"/>
  <input type="button" name="o3" value="*" id="op3" onclick="getResult();"/>
  <input type="button" name="o4" value="/" id="op4" onclick="getResult();"/>      

 <input type="button" name="calc" value="Calculate" onclick="getResult();"/>
 </form>

 </body>
 </html>

4 个答案:

答案 0 :(得分:1)

在JavaScript(以及许多其他编程语言)中,当您将两个字符串一起添加时,您可以获得其值的串联。目前,您的程序将表单输入视为字符串,但您可以使用内置函数parseInt从字符串中提取整数。

尝试以下方法:

function getResult() {
    var result1 = parseInt(document.getElementById("number1").value);
    var result3 = parseInt(document.getElementById ("op1").value);
    var result2 = parseInt(document.getElementById("number2").value);

    calculate (result1,result3,result2);
}

答案 1 :(得分:0)

应用parseFloat,示例

var res1 = parseFloat(num1)+parseFloat(num2);

答案 2 :(得分:0)

这是因为字符串连接。请将代码更改为var res1 = parseInt(num1) + parseInt(num2);

答案 3 :(得分:0)

在使用它们进行任何数学运算之前,您必须将变量转换为整数。默认情况下,它们以字符串形式读入。 result1 = parseInt(result1)