2013-12-18 144 views
0

我试图解决使用JavaScript的公式,但它不会返回正确的值。我错在哪里?我的代码有什么问题?

代码:

<html> 
    <body> 
    <p>Click the button to calculate t</p> 
    <button onclick="myFunction()">Calculate</button> 
    <br/> 
    <br/>Enter R1: 
    <input type="text" id="txt1" name="text1">Enter R2: 
    <input type="text" id="txt2" name="text2">Enter c1: 
    <input type="text" id="txt3" name="text3"> 
    <p id="demo"></p> 
    <script> 
     function myFunction() { 
     var x = document.getElementById("txt1").value; 
     var y = document.getElementById("txt2").value; 
     var z = document.getElementById("txt3").value; 
     var t = 0.7*(x + 2*y)*z; 
     document.getElementById("demo").innerHTML = t; 
     } 
    </script> 
    </body> 
</html> 
+0

你期待什么样的价值和你怎么回来的? – Andy

+0

x y和z是字符串。将它们转换为数字。 – marekful

+0

我给出了输入,x = 5; y = 11和z = 0.02它支持60.5,而我期待1.54 – Ariful

回答

2

您也可以在输入项的值转换为整数计算之前,你的表达。 喜欢的东西:

var x = parseInt(document.getElementById("txt1").value); 
var y = parseInt(document.getElementById("txt2").value); 
var z = parseInt(document.getElementById("txt3").value); 
if (isNaN(x) || isNaN(y) || isNaN(z)) { 
    document.getElementById("demo").innerHTML = "The values inserted are not valid"; 
} 
else { 
    var t = 0.7*(x + 2*y)*z; 
    document.getElementById("demo").innerHTML = t; 
} 

在这个例子中我还检查了插入的值是有效号码

+0

同样的事情正在发生。我预计x = 5时的值应该是0.378; y = 11&z = 0.02。它给我60.5 – Ariful

+0

使用parseFloat而不是parseInt也应该使用浮点数 – svituz

-1
var x = document.getElementById("txt1").value; 
    var y = document.getElementById("txt2").value; 
    var z = document.getElementById("txt3").value; 
    var a= 2*y; `enter code here`enter code here 
    var b= a+x; 
    var t= 0.7*b*z 

    document.getElementById("demo").innerHTML = t; 

enter code here