JS实现的加减乘除四则运算计算器示例


Posted in Javascript onAugust 09, 2017

本文实例讲述了JS实现超级简易的加减乘除四则运算计算器。分享给大家供大家参考,具体如下:

先来看看运行效果:

JS实现的加减乘除四则运算计算器示例

具体代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>简单的计算器(3water.com)</title>
    <style>
      body{
        margin: 0;
      }
      .tab{
        border: 3px solid black ;
        border-radius: 2px;
        border-collapse:collapse;
        width: 268px;
        height: 402px;
        margin: 20px auto;
      }
      .tr{
        height: 67px;
        width: 268px;
        border: 3px solid black ;
        text-align: right;
      }
      .tr1{
        width: 268px;
        height: 67px;
        border: 3px solid black ;
        text-align: center;
      }
      .tr2{
        width: 67px;
        height: 67px;
        border: 3px solid black ;
        text-align: center;
      }
    </style>
    <script>
      var s1 = "";
      var s2 = "";
      var s3 = "";
      var s4 = "";
      var s5 = "";
      function view(val){
        var a = document.getElementById(val);
        s1 = a.innerHTML;
        if(s1=="+" || s1=="-" || s1=="*" || s1=="/"){
          s3 = s1;
          s1 = "";
        }
        if(s3=="+" || s3=="-" || s3=="*" || s3=="/"){
          add2(s1);
        }
        if(s3==""){
          add1(s1);
        }
      }
      function add1(s1){
        s2 = s2 + s1;
        show();
      }
      function add2(s1){
        s4 = s4 + s1;
        show();
      }
      function cal(){
        switch(s3){
          case "+":{
            s5 = (String)((parseFloat(s2)+parseFloat(s4)).toFixed(2));
            result.innerHTML = s5;
            break;
          }
          case "-":{
            s5 = (String)((parseFloat(s2)-parseFloat(s4)).toFixed(2));
            result.innerHTML = s5;
            break;
          }
          case "*":{
            s5 = (String)((parseFloat(s2)*parseFloat(s4)).toFixed(2));
            result.innerHTML = s5;
            break;
          }
          case "/":{
            s5 = (String)((parseFloat(s2)/parseFloat(s4)).toFixed(2));
            result.innerHTML = s5;
            break;
          }
        }
      }
      function show(){
        var result = document.getElementById("result");
        result.innerHTML = s2+s3+s4;
      }
    </script>
  </head>
  <body>
    <table class="tab">
      <tr class = "tr2">
        <td colspan="4">简易计算器</td>
      </tr>
      <tr class="tr">
        <td id="result" colspan="4" >
        </td>
      </tr>
      <tr >
        <td id="+" class="tr1" onclick="view('+')">+</td>
        <td id="-" class="tr1" onclick="view('-')">-</td>
        <td id="*" class="tr1" onclick="view('*')">*</td>
        <td id="/" class="tr1" onclick="view('/')">/</td>
      </tr>
      <tr >
        <td id="7" class="tr1" onclick="view('7')">7</td>
        <td id="8" class="tr1" onclick="view('8')">8</td>
        <td id="9" class="tr1" onclick="view('9')">9</td>
        <td id="0" class="tr1" onclick="view('0')">0</td>
      </tr>
      <tr>
        <td id="4" class="tr1" onclick="view('4')">4</td>
        <td id="5" class="tr1" onclick="view('5')">5</td>
        <td id="6" class="tr1" onclick="view('6')">6</td>
        <td id="." class="tr1" onclick="view('.')">.</td>
      </tr>
      <tr>
        <td id="1" class="tr1" onclick="view('1')">1</td>
        <td id="2" class="tr1" onclick="view('2')">2</td>
        <td id="3" class="tr1" onclick="view('3')">3</td>
        <td id="=" class="tr1" onclick="cal()" >=</td>
      </tr>
    </table>
  </body>
</html>

对于这个程序来说,判断的顺序非常重要,不然就会把"+"号存在s2,s4中而不是s3中。

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.3water.com/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.3water.com/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.3water.com/jisuanqi/jsq

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
更正确的asp冒泡排序
May 24 Javascript
基于JQuery的密码强度验证代码
Mar 01 Javascript
Google 静态地图API实现代码
Nov 19 Javascript
JQuery 在线引用及测试引用是否成功
Jun 24 Javascript
javascript里绝对用的上的字符分割函数总结
Jul 31 Javascript
JavaScript动态加载样式表的方法
Mar 21 Javascript
javascript格式化指定日期对象的方法
Apr 21 Javascript
Jquery删除css属性的简单方法
Dec 04 Javascript
完美解决input[type=number]无法显示非数字字符的问题
Feb 28 Javascript
Vue响应式原理深入解析及注意事项
Dec 11 Javascript
JavaScript中EventLoop介绍
Jan 22 Javascript
微信小程序实现电子签名功能
Jul 29 Javascript
AngularJS ionic手势事件的使用总结
Aug 09 #Javascript
Vue2.0实现将页面中表格数据导出excel的实例
Aug 09 #Javascript
webpack 1.x升级过程中的踩坑总结大全
Aug 09 #Javascript
微信小程序开发教程之增加mixin扩展
Aug 09 #Javascript
javascript编程开发中取色器及封装$函数用法示例
Aug 09 #Javascript
vuejs父子组件之间数据交互详解
Aug 09 #Javascript
Angular在模板驱动表单中自定义校验器的方法
Aug 09 #Javascript
You might like
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/03/02 无线电
PHP学习笔记之二 php入门知识
2011/01/12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
PHP设置进度条的方法
2015/07/08 PHP
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
js null undefined 空区别说明
2010/06/13 Javascript
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
密码强度检测效果实现原理与代码
2013/01/04 Javascript
有效提高JavaScript执行效率的几点知识
2015/01/31 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
JavaScript中一些特殊的字符运算
2017/08/17 Javascript
js中let和var定义变量的区别
2018/02/08 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
jQuery事件委托代码实践详解
2019/06/21 jQuery
vue项目中使用bpmn为节点添加颜色的方法
2020/04/30 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
跟老齐学Python之编写类之一创建实例
2014/10/11 Python
python利用装饰器进行运算的实例分析
2015/08/04 Python
python自动化测试之如何解析excel文件
2019/06/27 Python
python几种常用功能实现代码实例
2019/12/25 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
python unichr函数知识点总结
2020/12/16 Python
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
database面试题
2013/03/28 面试题
机电一体化求职信
2014/03/10 职场文书
史学专业毕业生求职信
2014/05/09 职场文书
领导干部对照检查材料
2014/08/24 职场文书
小学运动会报道稿
2014/10/04 职场文书
银行求职信怎么写
2019/06/20 职场文书
浅谈python中的多态
2021/06/15 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
2022/05/11 Python