2013-12-18 188 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