• JavaScript 写计算器改进版


    <html>
    <head>
    <style>
     .short{height:50px;55px;float:left;}
    </style>
    </head>
    <body>
    <script>
    var xianshi="";
    var shuzi="";
    var huanchun="";

    //如果连续输入数字,则累加其值
    function num(a){
      var pingmu=document.getElementById("pingmu");
      xianshi+=a;
      pingmu.value=xianshi;
      shuzi+=a
    }


    //如果缓存和数字为空,则第一个输入不能是符号
    function fum(b){
      if(shuzi==""&&huanchun=="")return;   
      huanchun+=shuzi+b;
      shuzi="";
      xianshi="";
    }

    //求出缓存值,并清空其他值
    function sum(){
      huanchun+=shuzi;
      var pingmu=document.getElementById("pingmu");
      huanchun=eval(huanchun);
      pingmu.value=huanchun;
      shuzi=""
      xianshi=""
    }

    //将屏幕上的值添加-号后,保存到缓存或者数字当中
    function sign(){
      var pingmu=document.getElementById("pingmu")
      var value=pingmu.value;
      value="(-("+value+"))"
      value=eval(value)
      pingmu.value=value;
      if(shuzi=="")huanchun=value;
      else{shuzi=value;}
    }

    //倒数
    function reciprocal(){
      var pingmu=document.getElementById("pingmu")
      var value=pingmu.value;
      value="1/"+value
      value=eval(value);
      pingmu.value=value;
      if(shuzi=="")huanchun=value;
      else{shuzi=value;}
    }

    //开方
    function nsqrt(){
      var pingmu=document.getElementById("pingmu")
      var value=pingmu.value;
      value=eval(value);
      value=Math.sqrt(value);
      pingmu.value=value;
      if(shuzi=="")huanchun=value;
      else{shuzi=value;}
    }

    //小数点
    function spot(){
      var pingmu=document.getElementById("pingmu");
      if(shuzi==""||xianshi==""){shuzi="0";xianshi="0"}
      shuzi+=".";
      xianshi+=".";
      pingmu.value=xianshi;
    }

    //十进制
    function ten(){
      var total=0,pows=0
      var pingmu=document.getElementById("pingmu");
      var value=pingmu.value;
      var arr=value.split("");
      arr=arr.reverse();
      for(i=0;i<arr.length;i++){
      arr[i]-=0;
      pows=Math.pow(2,i);
      total+=arr[i]*pows;
      }
      pingmu.value=total;
      jisuan="";xianshi="";
    }

    //二进制
    function two(){
      var pingmu=document.getElementById("pingmu");
      var value=pingmu.value;
      value-=0;
      var arr=new Array();
      for(i=0;1;i++){
      if(value==0)break;
      arr[i]=value%2;
      value/=2;
      value=parseInt(value);
      }
      arr=arr.reverse();
      str=arr.join("");
      pingmu.value=str;
      xianshi="";jisuan="";
    }

    //清空
    function cee(){
      shuzi="";
      xianshi="";
      document.getElementById('pingmu').value="";
    }

    //清除
    function ccc(){
      shuzi="";
      huanchun="";
      xianshi="";
      document.getElementById('pingmu').value="";
    }

    //退符
    function cbb(){
      shuzi=shuzi.substring(0,shuzi.length-1)
      xianshi=xianshi.substring(0,xianshi.length-1);
      pingmu.value=xianshi;
    }

    </script>

    <input id="pingmu" style="height: 36px; 282px; text-align: right;" type="text" /><br /><br />

    <button class="short" onclick="cbb()" value="c">&larr;</button>
    <button class="short" onclick="cee()" value="c">CE</button>
    <button class="short" onclick="ccc()" value="c">C</button>
    <button class="short" onclick="ten()" value="x">dec</button>
    <button class="short" onclick="two()" value="x">bin</button><br /><br /><br />

    <button class="short" onclick="num(this.value)" value="7">7</button>
    <button class="short" onclick="num(this.value)" value="8">8</button>
    <button class="short" onclick="num(this.value)" value="9">9</button>
    <button class="short" onclick="fum(this.value)" value="*">*</button>
    <button class="short" onclick="fum(this.value)" value="/">/</button><br /><br /><br />

    <button class="short" onclick="num(this.value)" value="4">4</button>
    <button class="short" onclick="num(this.value)" value="5">5</button>
    <button class="short" onclick="num(this.value)" value="6">6</button>
    <button class="short" onclick="fum(this.value)" value="-">-</button>
    <button class="short" onclick="fum(this.value)" value="%">%</button><br /><br /><br />

    <button class="short" onclick="num(this.value)" value="1">1</button>
    <button class="short" onclick="num(this.value)" value="2">2</button>
    <button class="short" onclick="num(this.value)" value="3">3</button>
    <button class="short" onclick="fum(this.value)" value="+">+</button>
    <button class="short" onclick="sum()" value="=">=</button>
    <br /><br /><br />

    <button class="short" onclick="num(this.value)" value="0">0</button>
    <button class="short" onclick="sign()" value="+/-">+/-</button>
    <button class="short" onclick="spot()" value=".">.</button>
    <button class="short" onclick="reciprocal()" value="1/x">1/x</button>
    <button class="short" onclick="nsqrt()" value="sqrt">sqrt</button><br /><br /><br /></p>
    </script>
    </body>


















  • 相关阅读:
    UIScrollView设置滑动的距离
    iOS动画效果和实现
    cmd 编码 utf8
    详细的ifcfg-eth0配置详解
    Centos下 Nginx安装与配置
    linux安装目录
    utf8 和 UTF-8 的区别
    后台添加搜索功能讲解
    移动端 禁横向滚动
    PC端 $_SERVER 说明
  • 原文地址:https://www.cnblogs.com/demonxian3/p/6217372.html
Copyright © 2020-2023  润新知