简单计算器实现
2017-07-26 20:39
169 查看
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>04-00-计算器</title> <style> *{margin: 0;padding: 0;left: 0; top: 0; list-style: none;} ul{ margin: 50px; margin-top: 20px; width: 280px; } ul li{ float: left; width: 45px; height: 45px; border: 1px solid #aaa; margin: 10px; text-align: center; line-height: 45px; font-family: 微软雅黑; font-size: 16px; font-weight: bolder; cursor: pointer; } ul li:nth-child(3), ul li:nth-last-child(3){ width: 110px; } .r{ width: 244px; height: 80px; border: 1px solid #aaa; margin-top: 50px; margin-left: 60px; font-family: 微软雅黑; font-size: 20px; text-align: right; line-height: 80px; overflow: hidden; /*overflow-x: scroll;*/ } </style> <!-- <link rel="stylesheet" href="./css/cal.css"> <script src="./js/cal.js"></script> --> <!-- <script src='../day1/js/my.js'></script> --> </head> <body> <div class="r"></div> <ul> <li>退格</li> <li>C</li> <li>=</li> <li>1</li> <li>2</li> <li>3</li> <li>+</li> <li>4</li> <li>5</li> <li>6</li> <li>-</li> <li>7</li> <li>8</li> <li>9</li> <li>*</li> <li>0</li> <li>.</li> <li>/</li> </ul> <script> var lis = document.querySelectorAll('ul li'); var r = document.querySelector('.r'); for (var i = 0; i < lis.length; i++) { lis[i].onclick = function () { /* body... */ var ih = this.innerHTML; var rh = r.innerHTML; var oper = ['+', '-', '*', '/']; switch (ih) { case '退格': // statements_1 rh = rh.slice(0, -1); console.log(rh); r.innerHTML = rh; break; case 'C': r.innerHTML = ''; break; case '=': var result = eval(r.innerHTML); //eval:执行jS代码 var haha=result-parseInt(result); console.log(haha); if(haha>0){ r.innerHTML = result.toFixed(2); // 保留两位小数并四舍五入 }else{ console.log(result); r.innerHTML=result; } //保留两位小数 break; case '*': case '/': var lc = rh.slice(-1); if(rh == ''||oper.indexOf(lc) > -1){ return ; }else{ r.innerHTML += ih; } // console.log(oper.indexOf(lc)); break; case '.': var zz=/[+*/-]/ig; var arrnumber=rh.split(zz); var zzz=/\./ig; console.log(arrnumber); var lc = rh.slice(-1); // var narr = rh.split(); //用正则分割成数组 if(!rh || isNaN(lc)||zzz.test(arrnumber[arrnumber.length-1])){ return ; }else{ r.innerHTML += ih; } break; case '+': case '-': var lc = rh.slice(-1); // console.log(oper.indexOf(lc)); if(oper.indexOf(lc) > -1){ return ; } else{ r.innerHTML += ih; } break; default: r.innerHTML += ih; } } } </script> </body> </html>
相关文章推荐
- 基于javascript实现简单计算器功能
- Qt实现的简单计算器-计算简单表达式
- C++实现简单计算器
- hdu1237简单计算器-栈实现
- 简单计算器的面向过程实现和面向对象实现对比
- java实现简单计算器
- 《简单计算器实现(c#)》
- 从0开始<十一>:简单计算器实现
- php学习之简单计算器实现代码
- Js实现简单计算器
- JavaWeb学习记录(二十)——Model1模式(javaBean+jsp)实现简单计算器案例
- 基于51单片机设计简单计算器,实现6位有效四则运算的程序设计(汇编调用C)
- NetBeans实现的简单计算器
- 【JavaScript】javascript的eval函数实现的一个简单计算器
- 简单计算器的实现
- js实现简单计算器
- JAVASCRIPT实现简单计算器
- 简单计算器实现(C++)
- 【数据结构】用栈实现的简单计算器(先转换为后缀表达式、可以计算带括号的)
- JAVASCRIPT实现简单计算器