為什么我加運(yùn)算的時(shí)候結(jié)果不對(duì)呢?其他運(yùn)算都對(duì)
<!DOCTYPE html>
<html>
?<head>
? <title> 事件</title>??
? <script type="text/javascript">
? ?function count(){
? ? //獲取第一個(gè)輸入框的值
? ? var x=document.getElementById("txt1").value;
//獲取第二個(gè)輸入框的值
var y=document.getElementById("txt2").value;
//獲取選擇框的值
var cal=document.getElementById("select").value;
//獲取通過下拉框來選擇的值來改變加減乘除的運(yùn)算法則
switch(cal){
? ? case '+':
? ? ? ? var rst=x+y;break;
? ? case '-':
? ? ? ? rst=x-y;break;
? ? case '*':
? ? ? ? rst=x*y;break;
? ? default:
? ? ? ? rst=x/y;break;
}
? ? //設(shè)置結(jié)果輸入框的值?
? ? document.getElementById("fruit").value=
? ?}
? </script>?
?</head>?
?<body>
? ?<input type='text' id='txt1' />?
? ?<select id='select'>
<option value='+'>+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
? ?</select>
? ?<input type='text' id='txt2' />?
? ?<input type='button' value=' = ' onclick="count()"/> <!--通過 = 按鈕來調(diào)用創(chuàng)建的函數(shù),得到結(jié)果-->?
? ?<input type='text' id='fruit' />? ?
?</body>
</html>
比如輸入3+5的話結(jié)果會(huì)變成35 而不是8
其他運(yùn)算結(jié)果都對(duì)
我試了用parseInt函數(shù)處理x和y但還是這樣,不知道是怎么回事??
2019-05-06
這樣獲取的都是字符串類型,直接用+的話相當(dāng)于拼接字符串,所以這里應(yīng)該先用parseInt(x)轉(zhuǎn)換為數(shù)值類型再進(jìn)行相加。至于其他的都對(duì),應(yīng)該是隱式轉(zhuǎn)換了。
2019-05-05
文本輸入框的值默認(rèn)是字符串,要用parseInt轉(zhuǎn)化成數(shù)值
var x=parseInt(document.getElementById("txt1").value);
var y=parseInt(document.getElementById("txt2").value);
只有+是35其他卻正常,那是因?yàn)樽址g連接也是用+