爱在华师大

 找回密码
 注册账号
查看: 2706|回复: 0

计算器代码

[复制链接]
发表于 2007-9-28 03:46:06 | 显示全部楼层 |阅读模式
<!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 编辑 ]
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|爱在华师大 ( 曾经也有备案 )

GMT+8, 2024-5-3 16:34

广告与合作请【联系我们】

© 2007-2024 iecnu.com

快速回复 返回顶部 返回列表