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 相关文章推荐
判断页面是关闭还是刷新的js代码
Jan 28 Javascript
JavaScript 盒模型 尺寸深入理解
Dec 31 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
js 事件截取enter按键页面提交事件示例代码
Mar 04 Javascript
js实现字符串转日期格式的方法
May 20 Javascript
js获取及判断键盘按键的方法
Dec 01 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
Mar 15 Javascript
详解vue-router 路由元信息
Sep 13 Javascript
vue跨域解决方法
Oct 15 Javascript
基于vue中解决v-for使用报红并出现警告的问题
Mar 03 Javascript
vue学习笔记之Vue中css动画原理简单示例
Feb 29 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
Oct 27 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
如何给phpadmin一个保护
2006/10/09 PHP
web方式ftp
2006/10/09 PHP
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
Docker配置PHP开发环境教程
2016/12/21 PHP
php实现构建排除当前元素的乘积数组方法
2018/10/06 PHP
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
五段实用的js高级技巧
2011/12/20 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
js 验证身份证信息有效性
2014/03/28 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
2016/01/12 Javascript
Markdown+Bootstrap图片自适应属性详解
2016/05/21 Javascript
JS实现移动端判断上拉和下滑功能
2017/08/07 Javascript
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
浅谈vuepress 踩坑记
2018/04/18 Javascript
在React项目中使用Eslint代码检查工具及常见问题
2018/10/10 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
jupyter安装小结
2016/03/13 Python
python实现简易内存监控
2018/06/21 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
python 环境搭建 及python-3.4.4的下载和安装过程
2019/07/20 Python
python实现同一局域网下传输图片
2020/03/20 Python
python sleep和wait对比总结
2021/02/03 Python
微信小程序之html5 canvas绘图并保存到系统相册
2019/06/20 HTML / CSS
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
国外软件测试工程师面试题
2016/12/09 面试题
培训讲师邀请函
2014/01/10 职场文书
对祖国的寄语大全
2014/04/11 职场文书
完整版商业计划书
2014/09/15 职场文书
任命通知范文
2015/04/21 职场文书
爱心募捐通知范文
2015/04/27 职场文书
《走遍天下书为侣》教学反思
2016/02/22 职场文书
HashMap实现保存两个key相同的数据
2021/06/30 Java/Android
Java 死锁解决方案
2022/05/11 Java/Android