<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>计算器</title>
<style>
input{ font-size:24px; width=30;height=30;text-align:right}
</style>
<script>
var pd=0;
function fun(a) //输入数字
{
if(a=='10')
{
frm.txtV.value=0;
}
else if(frm.txtV.value=='除数不能为零' || frm.txtV.value=='负数不能开平方');
else if(frm.txtV.value=="0")
{
if(a=='PI')
{
frm.txtV.value=3.1415926;
}
else
{
frm.txtV.value=a;
}
}
else if(pd==1)
{
s=frm.txtV.value;
if(s.indexOf('+')>=0 || s.indexOf('-')>0 || s.indexOf('*')>=0 || s.indexOf('/')>=0)
{
pd=0;
fun(a);
}
else
{
frm.txtV.value=a;
pd=0;
}
}
else
{
var s=frm.txtV.value;
if(a!='PI')
{
j=s.indexOf('.');
s1=s.substring(j+1,s.length);
for(i=0;i<s1.length;i++)
{
if(isNaN(s1.charAt(i)) && s1.charAt(i)!='.')
{
break;
}
}
if(i<s1.length)
{
s2=s1.substring(i+1,s1.length);
if(s2.indexOf('.')<0 && s2=="0" && a==0);
else if(s2.indexOf('.')<0 && s2=="0" && a!=0)
{
s3=s.substring(0,s.length-1);
frm.txtV.value=s3+a;
}
else if(a==0)
{
frm.txtV.value+=0;
}
else
{
frm.txtV.value+=a;
}
}
else
{
frm.txtV.value+=a;
}
}
else if(s.charAt(s.length-1)=="+" || s.charAt(s.length-1)=="-" || s.charAt(s.length-1)=="*" || s.charAt(s.length-1)=="/")
{
frm.txtV.value+=3.1415926;
}
}
}
function fun1() //输入小数点
{
var s=frm.txtV.value;
if(frm.txtV.value=='除数不能为零' || frm.txtV.value=='负数不能开平方');
else if(s.indexOf('e+')>=0)
{
if((s.indexOf('+',s.indexOf('e+')+2)>=0 || s.indexOf('-',s.indexOf('e+')+2)>=0 || s.indexOf('*',s.indexOf('e+')+2)>=0 || s.indexOf('/',s.indexOf('e+')+2)>=0) && s.indexOf('.',s.indexOf('e+')+2)<0)
{
if(!isNaN(s.charAt(s.length-1)))
{
frm.txtV.value+='.';
}
else if(isNaN(s.charAt(s.length-1)))
{
frm.txtV.value+='0.';
}
}
}
else if(s.length==0)
{
frm.txtV.value+='0.';
}
else
{
j=s.indexOf('.');
if(j>0)
{
for(i=j+1;i<s.length;i++)
{
if(isNaN(s.charAt(i)))
{
break;
}
}
if(i==s.length);
else if(s.indexOf('.',i)<0 && !isNaN(s.charAt(s.length-1)))
{
frm.txtV.value+='.';
}
else if(s.indexOf('.',i)<0 && isNaN(s.charAt(s.length-1)))
{
frm.txtV.value+='0.';
}
}
else if(!isNaN(s.charAt(s.length-1)))
{
frm.txtV.value+='.';
}
[ 本帖最后由 电筒 于 2007-11-17 20:23 编辑 ] |