<!DOCTYPE html> <html> <head> <title> 事件</title> <script type="text/javascript"> function count(){ //获取第一个输入框的值 var val1=document.getElementById("txt1").value; //获取第二个输入框的值 var val2=document.getElementById("txt2").value; //获取选择框的值 var add1= document.getElementById("select").value; //获取通过下拉框来选择的值来改变加减乘除的运算法则 var jieguo=""; switch(add1) { case '+': jieguo=val1+val2; break; case '-': jieguo=val1-val2; break; case '*': jieguo=val1*val2; break; case '/': jieguo=val1/val2; break; }; //设置结果输入框的值 document.getElementById("fruit").value=jieguo; } </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()"/> <!--通过 = 按钮来调用创建的函数,得到结果--> <input type='text' id='fruit' /> </body> </html>
jieguo=parseFloat(val1)+parseFloat(val2);
或者
jieguo=parseInt(val1)+parseInt(val2);
这种就算是转成float类型的了吧!
num1和num2的类型为string类型,"+"当两个变量为字符串时,会连接两个变量,,例如num1和num2为1,会输出1+1,所以转换成float
不知道错在哪里了?
alert(typeof(document.getElementById("txt1").value)); //查看为string类型
var num1 = parseFloat(document.getElementById("txt1").value);
var num2 =parseFloat(document. getElementById("txt2").value);
switch循环可result=eval(num1+operation+num2)代替
只有加法不行,其他都好说,帮帮我!