我是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
我该如何解决这个问题?
答案 0 :(得分:2)
将值分配给p
,n
和r
作为字符串。所以,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;
}