java脚本数学方程显示错误答案

时间:2016-05-13 06:24:12

标签: javascript math

我是Java Script的新学习者。我的数学方程式存在问题。它显示错误的答案。 请帮我找错。

    <html>
    <head>
	<title>calculation of (p+r)*(n+r) </title>

        <script>
            function calculate()
            {
               var p = document.getElementById("p").value;
               var n = document.getElementById("n").value;
               var r = document.getElementById("r").value;
               
			   
               var calculationa= p+r;
			   
			   var calculationb= n+r;
			  
			   
			   var cal_final=Number(calculationa)*Number(calculationb);
			   
			   document.getElementById("result").innerHTML=cal_final;
            }
        </script>
    </head>

    <body>
        <h1>calculation of (p+r)*(n+r)</h1>
        p: <input id="p"><br/>
        n: <input id="n"><br/>
        r: <input id="r"><br/>

       

       <button onclick="calculate()">calculate</button>
	   <p id="result"></p>
    </body>
</html>

这是我想要解决的等式。 数学表明这个结果不正确。http://i.stack.imgur.com/Ir9hs.png

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

将值分配给pnr作为字符串。所以,p+r = 1+2 = 12

使用parseInt()将值解析为Integer并进行计算。或者使用parseFloat()

function calculate() {
  var p = parseInt(document.getElementById("p").value);
  var n = parseInt(document.getElementById("n").value);
  var r = parseInt(document.getElementById("r").value);

  var calculationa= p+r;

  var calculationb= n+r;

  var cal_final=Number(calculationa)*Number(calculationb);

  document.getElementById("result").innerHTML=cal_final;
}
    <h1>calculation of (p+r)*(n+r)</h1>
    p: <input id="p"><br/>
    n: <input id="n"><br/>
    r: <input id="r"><br/>

   <button onclick="calculate()">calculate</button>
   <p id="result"></p>

答案 1 :(得分:1)

也可以试试这个......

function calculate()
            {              

    var p= Number(document.getElementsByName("p")[0].value); 
    var n= Number(document.getElementsByName("n")[0].value);
    var r= Number(document.getElementsByName("r")[0].value);
    var sum1 = p+ r;
    var sum2 = n+ r;
    var res=sum1 *sum2;

    document.getElementsByName("result1")[0].value = res;
                       
            }
 <h1>calculation of (p+r)*(n+r)</h1>
        p: <input type="text"  name="p"><br/>
        n: <input type="text"  name="n"><br/>
        r: <input type="text"  name="r"><br/>
       <br/>
<input type="button" name="add" value ="add" onClick="calculate()" />
result: <input type="text"  name="result1"><br/>

答案 2 :(得分:0)

在Javascript var值中考虑为字符串。

对于使用 parseInt()的整数值添加。

对于使用 parseFloat()的浮动值添加。

请查看此处以获取更多信息http://www.tutorialspoint.com/java/java_numbers.htm

function calculate()
{
   var p = document.getElementById("p").value;
   var n = document.getElementById("n").value;
   var r = document.getElementById("r").value;


   var calculationa= parseInt(p)+parseInt(r);

   var calculationb= parseInt(n)+parseInt(r);


   var cal_final=parseInt(calculationa)*parseInt(calculationb);

   document.getElementById("result").innerHTML=cal_final;
}