為什么我的計(jì)算器算不對(duì)結(jié)果?
<!DOCTYPE html>
<html>
?<head>
? <title> 事件</title> ?
? <script type="text/javascript">
? ?function count(){
? ? var x=document.getElementById("txt1").value; ??
? ? //獲取第一個(gè)輸入框的值
var y=document.getElementById("txt2").value;//獲取第二個(gè)輸入框的值
var z=document.getElementById("select").value; ?//獲取選擇框的值
var r;
switch(z)
{
? ? ? ? ? ?case '+':
? ? ? ?r=x+y;break;
? ? ? ? ? ?case '-':
? ? ? ?r=x-y;break;
? ? ? ? ? ?case '*':
? ? ? ?r=x*y;break;
? ? ? ? ? ?case'/':
? ? ? ?r=x/y;
? ? ? ?//獲取通過下拉框來選擇的值來改變加減乘除的運(yùn)算法則
? }
? ? ? //設(shè)置結(jié)果輸入框的值?
document.getElementById('fruit').value = r;
? ?}
? </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>
2016-07-22
使用parseInt()函數(shù)可解析一個(gè)字符串,并返回一個(gè)整數(shù)。
case后面要有break
2016-07-22
你獲取的第一個(gè)數(shù)和第二個(gè)數(shù)不是數(shù)字類型的 而是字符串類型的,你需要把它轉(zhuǎn)成數(shù)字類型的
2016-07-22
把第一個(gè)case改成:
case"+":r=parseInt(x)+parseInt(y);break;
要把字符串用parseInt函數(shù)轉(zhuǎn)成int型才可進(jìn)行數(shù)值的計(jì)算,不然只是字符串的加減所以1+1=11