求大神帮忙看一下这个网页计算器的小问题。。。。

lkf553 2014-12-08 02:09:12
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
div{
margin:0px auto;
text-align:center;

}
table{background:#999;}
td input{
width:50px;
height:50px;}
input.p{
height:20px; width:150px;
}
</style>
<script language="javascript">
/*全局变量*/
var num1=0; //第一个数字
var num2=0; //第二个数字
var result=0; //显示栏显示的数字
var oper=0; //运算符号


/*获得数字*/
function getNum(num){
var str=String(from1.resu.value); //获得当前显示数据
//如果当前值不是"0",且状态为0,则返回当前值,否则返回空值;
if(str!="0"&&oper==0){
str=str;
}else{
str="";
}
str=str + String(num); //给当前值追加字符
from1.resu.value=str; //刷新显示
}
/*除法运算*/
function division(){
calculate();
num1=eval(from1.resu.value);
oper=1;
}
/*乘法运算*/
function mult(){
calculate();
num1=eval(from1.resu.value);
oper=2;
}
/*减法运算*/
function subd(){
calculate();
num1=eval(from1.resu.value);
oper=3;
}
/*加法运算*/
function sum(){
calculate();
num1=eval(from1.resu.value);
oper=4;
}

/*最终结果的*/
function equal(){
//调用计算方法
calculate();
//简单的清空数值,方便后面的操作
num1=0;
num2=0;
result=0;
}

/*各种运算*/
function calculate(){
num2=eval(from1.resu.value);
switch(oper){ //判断要输入状态
case 1:
result=num1/num2;
break;
case 2:
result=num1*num2;
break;
case 3:
result=num1-num2;
break;
case 4:
result=num1+num2;
break;
default:
result = num2;
break;
}
from1.resu.value=result;
num1=result; //存储当前值

}


/*复位*/
function clean(){
from1.resu.value=0;
num1=0;
num2=0;
result=0;
oper="";
}


</script>
</head>

<body>
<div>
<form id="from1">
<table width="314" height="333" border="1">
<tr>
<td colspan="4" >
<input type="text" name="resu" id="resu" height="8" class="p"/>
<input type="button" name="button" id="button" value="复位" onclick="clean()" /></td>

</tr>
<tr>
<td><input type="button" name="button7" id="button7" value="7" onclick="getNum(this.value)" /></td>
<td><input type="button" name="button8" id="button8" value="8" onclick="getNum(this.value)" /></td>
<td><input type="button" name="button9" id="button9" value="9" onclick="getNum(this.value)" /></td>
<td><input type="button" name="button10" id="button10" value="/" onclick="division()" /></td>
</tr>
<tr>
<td><input type="button" name="button4" id="button4" value="4" onclick="getNum(this.value)"/></td>
<td><input type="button" name="button5" id="button6" value="5" onclick="getNum(this.value)" /></td>
<td><input type="button" name="button6" id="button6" value="6" onclick="getNum(this.value)" /></td>
<td><input type="button" name="button11" id="button11" value="*" onclick="mult()" /></td>
</tr>
<tr>
<td><input type="button" name="button1" id="button1" value="1" onclick="getNum(this.value)" /></td>
<td><input type="button" name="button1" id="button1" value="2" onclick="getNum(this.value)" /></td>
<td><input type="button" name="button3" id="button3" value="3" onclick="getNum(this.value)" /></td>
<td><input type="button" name="button12" id="button13" value="-" onclick="subd()" /></td>
</tr>
<tr>
<td><input type="button" name="button0" id="button0" value="0" onclick="getNum(this.value)" /></td>
<td><input type="button" name="button15" id="button15" value="." onclick="getNum(this.value)"/></td>
<td><input type="button" name="button16" id="button16" value="=" onclick="equal()" /></td>
<td><input type="button" name="button17" id="button17" value="+" onclick="sum()" /></td>
</tr>
</table>
</form>
</div>
</body>
</html>


第一个数字输入小数可以比如3.5而第二个数输入小数就不可以了。。。。求大神解答
...全文
65 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
XZowie 2014-12-08
  • 打赏
  • 举报
回复
串數字的時候不需要檢查運算子 因為在串的時候應該是要檢查數字的正確性 第二個運算數,在oper == 0 那邊一定過不了,STR 會一直清空
lkf553 2014-12-08
  • 打赏
  • 举报
回复
其他的功能都正常 就是 输入第二个数字的时候不能有小数 比如3.5

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧