加法計算不正確
function count(){
?????? //獲取第一個輸入框的值
????? var num1=document.getElementById("txt1").value;
??? //獲取第二個輸入框的值
??? var num2=document.getElementById("txt2").value;
?? ?//獲取選擇框的值
?? ?var sel=document.getElementById("select").value;
?? ?//獲取通過下拉框來選擇的值來改變加減乘除的運算法則
?? ?var sum=0;
?? ?switch(sel)
?? ?{
?? ???? case "+":
?? ???????? sum=num1+num2;
?? ???????? break;
?? ??? case "-":
?? ???????? sum=num1-num2;
?? ???????? break;
?? ??? case "*":
?? ???????? sum=num1*num2;
?? ???????? break;
?? ??? case "/":
?? ???????? sum=num1/num2;
?? ???????? break;
?? ?}
??? //設置結果輸入框的值
??? document.getElementById("fruit").value=sum;
?? }
? </script>
計算結果 5+6=56
2017-03-09
var a=parseInt(document.getElementById("txt1").value);//獲取第一個輸入框的值
var b=parseInt(document.getElementById("txt2").value);//獲取第二個輸入框的值
用函數parseInt()將字符轉換為數字,就可以順利運行了
2017-03-09
1.input獲取的value是字符串
2.js是弱數據類型,在運算中會自動轉換
只有+這個運算符是既可以在數字中使用也可以在字符串中使用,所以會出現'1'+'2'='12',而1*2=2是因為字符串'1'在*運算中會自動轉化成數字1,所以計算是正確的。
所以需要用parseFloat或者parseInt對字符串進行轉換