87,993
社区成员
发帖
与我相关
我的任务
分享
<html>
<head>
<title>计算器</title>
</head>
<body>
<form name="KeyPad" id="KeyPad" action="">
<table bgColor="#add8e6">
<table border="2" width="50" height="60" cellpading="1" cellspacing="5" bgColor="#00CCD1">
<tr>
<td colspan="3" align="center">
<input type="text" name="ReadOut" id="ReadOut" size="24" value="0" width="100%" />
</td>
<td>
<input type="button" name="btnClear" onclick="Clear()" value=" C ">
</td>
<td>
<input type="button" value=" CE " onclick="ClearEntry()">
</td>
</tr>
<tr>
<td>
<input type="button" value=" 7 " onclick="NumPressed(7)">
</td>
<td>
<input type="button" value=" 8 " onclick="NumPressed(8)">
</td>
<td>
<input type="button" value=" 9 " onclick="NumPressed(9)">
</td>
<td>
<input id="Button1" type="button" value="+/-" onclick="Neg()"/>
</td>
<td>
<input type="button" value="%" onclick="Percent()">
</td>
</tr>
<tr>
<td>
<input type="button" value=" 4 " onclick="NumPressed(4)">
</td>
<td>
<input type="button" value=" 5 " onclick="NumPressed(5)">
</td>
<td>
<input type="button" value=" 6 " onclick="NumPressed(6)">
</td>
<td>
<input type="button" value=" + " onclick="operation('+')">
</td>
<td>
<input type="button" value=" - " onclick="operation('-')">
</td>
</tr>
<tr>
<td>
<input type="button" value=" 1 " onclick="NumPressed(1)">
</td>
<td>
<input type="button" value=" 2 " onclick="NumPressed(2)">
</td>
<td>
<input type="button" value=" 3 " onclick="NumPressed(3)">
</td>
<td>
<input type="button" value=" * " onclick="operation('*')">
</td>
<td>
<input type="button" value=" / " onclick="operation('/')">
</td>
</tr>
<tr>
<td>
<input type="button" value=" 0 " onclick="NumPressed(0)">
</td>
<td>
<input type="button" value=" . " onclick="decimal()">
</td>
<td>
<input type="button" value=" = " onclick="operation('=')"/>
</td>
</tr>
</table>
</table>
</form>
<script type="text/javascript">
var FKeyPad=document.KeyPad;
var accum=0;
var pendingop = "";
var FlagNewNum = false;
function NumPressed(num)
{
if(FlagNewNum)
{
FKeyPad.ReadOut.value=num;
FlagNewNum=false;
}
else
{
if(FKeyPad.ReadOut.value=="0")
{
FKeyPad.ReadOut.value=num;
}
else
{
FKeyPad.ReadOut.value+=num;
}
}
}
function operation(op)
{
var ReadOut=FKeyPad.ReadOut.value;
if(FlagNewNum && pendingop!="=");
else
{
FlagNewNum=true;
if(pendingop=="+")
{
accum+=parseFloat(ReadOut);
}
else if(pendingop=="-")
{
accum-=parseFloat(ReadOut);
}
else if(pendingop=="/")
{
accum/=parseFloat(ReadOut);
}
else if(pendingop=="*")
{
accum*=parseFloat(ReadOut);
}
else
{
accum=parseFloat(ReadOut);
}
FKeyPad.ReadOut.value=accum;
pendingop=op;
}
}
function decimal()
{
var curReadOut=FKeyPad.ReadOut.value;
if(FlagNewNum)
{
curReadOut="0";
FlagNewNum=false;
}
else
{
if(curReadOut.indexof(".")==-1)
{
curReadOut=".";
}
}
FKeyPad.ReadOut.value=curReadOut;
}
function ClearEntry()
{
FKeyPad.ReadOut.value="0";
FlagNewNum=true;
}
function Clear()
{
accum=0;
pendingop="";
ClearEntry();
}
function Neg()
{
FKeyPad.ReadOut.value=parseFloat(FKeyPad.ReadOut.value)*(-1);
}
function Percent()
{
FKeyPad.ReadOut.value=(parseFloat(FKeyPad.ReadOut.value)/100)*parseFloat(accum);
}
</script>
</body>
</html>