加法計(jì)算不正確
function count(){
?????? //獲取第一個(gè)輸入框的值
????? var num1=document.getElementById("txt1").value;
??? //獲取第二個(gè)輸入框的值
??? var num2=document.getElementById("txt2").value;
?? ?//獲取選擇框的值
?? ?var sel=document.getElementById("select").value;
?? ?//獲取通過(guò)下拉框來(lái)選擇的值來(lái)改變加減乘除的運(yùn)算法則
?? ?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;
?? ?}
??? //設(shè)置結(jié)果輸入框的值
??? document.getElementById("fruit").value=sum;
?? }
? </script>
計(jì)算結(jié)果 5+6=56
2017-03-09
var a=parseInt(document.getElementById("txt1").value);//獲取第一個(gè)輸入框的值
var b=parseInt(document.getElementById("txt2").value);//獲取第二個(gè)輸入框的值
用函數(shù)parseInt()將字符轉(zhuǎn)換為數(shù)字,就可以順利運(yùn)行了
2017-03-09
1.input獲取的value是字符串
2.js是弱數(shù)據(jù)類型,在運(yùn)算中會(huì)自動(dòng)轉(zhuǎn)換
只有+這個(gè)運(yùn)算符是既可以在數(shù)字中使用也可以在字符串中使用,所以會(huì)出現(xiàn)'1'+'2'='12',而1*2=2是因?yàn)樽址?1'在*運(yùn)算中會(huì)自動(dòng)轉(zhuǎn)化成數(shù)字1,所以計(jì)算是正確的。
所以需要用parseFloat或者parseInt對(duì)字符串進(jìn)行轉(zhuǎn)換