用微信小程序实现计算器功能
程序员文章站
2022-03-10 20:53:56
本文是用微信小程序写的一个简单的计算器,有兴趣的小伙伴可以了解一下。页面部分样式部分js部分效果图如下微信开发者工具下载地址以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。...
本文是用微信小程序写的一个简单的计算器,有兴趣的小伙伴可以了解一下。
页面部分
<view class='box'> <view class='txt'>{{screennum}}</view> <view capture-bind:touchstart="compute"> <view> <button data-val='clear' class='boxtn btn1'>ac</button> <button data-val='back' class='boxtn btn1'>←</button> <button data-val='#' class='boxtn btn1'>#</button> <button data-val='/' class='boxtn btn'>/</button> </view> <view> <button data-val='7' class='boxtn'>7</button> <button data-val='8' class='boxtn'>8</button> <button data-val='9' class='boxtn'>9</button> <button data-val='*' class='boxtn btn'>*</button> </view> <view> <button data-val='4' class='boxtn'>4</button> <button data-val='5' class='boxtn'>5</button> <button data-val='6' class='boxtn'>6</button> <button data-val='-' class='boxtn btn'>-</button> </view> <view> <button data-val='1' class='boxtn'>1</button> <button data-val='2' class='boxtn'>2</button> <button data-val='3' class='boxtn'>3</button> <button data-val='+' class='boxtn btn'>+</button> </view> <view> <button data-val='1' class='boxtn btn2'>0</button> <button data-val='.' class='boxtn'>.</button> <button data-val='=' class='boxtn btn'>=</button> </view> </view> </view>
样式部分
.box{ width:100%; height: 700px; background: #000; } .txt{ color: #fff; width: 100%; height:120px; font-size: 50px; text-align: right; } .boxtn{ width: 90px; height:90px; display:block; float:left; border-radius: 50%; line-height: 90px; text-align: center; margin-left: 3px; margin-top: 5px; color:#fff; background: #333333; font-weight: bold; font-size: 25px; } .btn{ background: #f09a37; } .btn1{ background: #a5a5a5; color:#000; } .btn2{ width: 180px; border-radius: 40px; }
js部分
//index.js //获取应用实例 const app = getapp() page({ /** * 页面的初始数据 */ data: { screennum: 0,//屏幕显示的数 currentnum: '',//当前输入的数 storage: 0,//存储的数 operator: '',//运算符 off: false, }, compute: function (e) { var btn_num = e.target.dataset.val; var obj = this; if (!isnan(btn_num)) { if (obj.data.off == true) { obj.data.currentnum = '' obj.data.off = false; } obj.data.currentnum += btn_num obj.data.currentnum = number(obj.data.currentnum); obj.data.currentnum = obj.data.currentnum.tostring(); } else { switch (btn_num) { case '+': case '-': case '*': case '/': case '=': // 将当前屏幕上的数字和本次的操作符存储到变量 if (obj.data.storage == 0) { obj.data.storage = obj.data.currentnum; obj.data.operator = btn_num; } else { if (obj.data.off != true) { if (obj.data.operator == '+') { obj.data.currentnum = number(obj.data.storage) + number(obj.data.currentnum) } else if (obj.data.operator == '-') { obj.data.currentnum = number(obj.data.storage) - number(obj.data.currentnum) } else if (obj.data.operator == '*') { obj.data.currentnum = number(obj.data.storage) * number(obj.data.currentnum) } else if (obj.data.operator == '/') { obj.data.currentnum = number(obj.data.storage) / number(obj.data.currentnum) } } obj.data.storage = obj.data.currentnum; obj.data.operator = btn_num; } obj.data.off = true; break; case 'clear': obj.data.storage = 0; obj.data.currentnum = '0'; obj.data.operator = ''; break; case 'back': obj.data.currentnum = obj.data.currentnum.slice(0, -1); if (obj.data.currentnum == '') { obj.data.currentnum = '0'; } break; case '.': if (obj.data.currentnum.indexof('.') == -1) { // 判断是否已包含“.” obj.data.currentnum += btn_num } break; } } obj.setdata({ screennum: obj.data.currentnum }) }, })
效果图如下
微信开发者工具下载地址
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
下一篇: 小程序实现计算器功能