当前位置:编程学习 > > 正文

微信小程序数学公式(微信小程序计算器实例详解)

时间:2021-10-04 01:08:22类别:编程学习

微信小程序数学公式

微信小程序计算器实例详解

微信小程序计算器实例,供大家参考,具体内容如下

微信小程序数学公式(微信小程序计算器实例详解)

index.wxml

  • <view class="content">
        <view class="num">{{num}}</view>
        <view class="operotor">{{op}}</view>
    </view>
    <view class="entry">
        <view>
            <view class="item" bindtap="resetBtn">c</view>
            <view class="item" bindtap="delBtn">DEL</view>
            <view class="item" bindtap="opBtn" data-val="%">%</view>
            <view class="item" bindtap="opBtn" data-val="/">÷</view>
        </view>
        <view>
            <view class="item" bindtap="numBtn" data-val="7">7</view>
            <view class="item" bindtap="numBtn" data-val="8">8</view>
            <view class="item" bindtap="numBtn" data-val="9">9</view>
            <view class="item" bindtap="opBtn" data-val="*">x</view>
        </view>
        <view>
            <view class="item" bindtap="numBtn" data-val="4">4</view>
            <view class="item" bindtap="numBtn" data-val="5">5</view>
            <view class="item" bindtap="numBtn" data-val="6">6</view>
            <view class="item" bindtap="opBtn" data-val="-">-</view>
        </view>
        <view>
            <view class="item" bindtap="numBtn" data-val="1">1</view>
            <view class="item" bindtap="numBtn" data-val="2">2</view>
            <view class="item" bindtap="numBtn" data-val="3">3</view>
            <view class="item" bindtap="opBtn" data-val="+">+</view>
        </view>
        <view>
            <view class="item tow" bindtap="numBtn" data-val="0">0</view>
            <view class="item one" bindtap="dotBtn" data-val=".">.</view>
            <view class="item one" bindtap="opBtn" data-val="=">=</view>
        </view>
    </view>
    
  • index.css

  • page {
      display: flex;
      flex-direction: column;
      height: 100%;
    }
    .content {
      flex: 1;
      background-color: #f3f6fe;
      position: relative;
    }
    .content .num {
      position: absolute;
      font-size: 27pt;
      bottom: 5vh;
      right: 3vw;
    }
    .content .operotor {
      font-size: 15pt;
      position: absolute;
      bottom: 1vh;
      right: 3vw;
    }
    .entry {
      flex: 1;
      font-size: 17pt;
      border-top: 1rpx solid #ccc;
    }
    .entry .item {
      flex: 1;
      padding: 30rpx 0;
      text-align: center;
      flex-basis: 25%;
      border-left: 1rpx solid #ccc;
      border-bottom: 1rpx solid #ccc;
    }
    .entry > view {
      display: flex;
    }
    .entry > view .tow {
      flex: 2;
    }
    .entry > view .one {
      flex: 1;
    }
    
  • index.js

  • Page({
        data: {
            num: "",  // 存储数字
            op: ""    //存储运算符
        },
        result: null,  
        isClear: false,
    
        numBtn: function(e) {
            var num = e.target.dataset.val
                //console.log(num) 得到data-val的值
            console.log(this.isClear)
            if (this.data.num === "0" || this.isClear) {
                this.setData({ num: num })
                this.isClear = false
            } else {
                this.setData({ num: this.data.num + num })
            }
        },
    
        opBtn: function(e) {
            var op = this.data.op
            var num = Number(this.data.num)
            this.setData({ op: e.target.dataset.val })
            if (this.isClear) {
                return
            }
            this.isClear = true
            if (this.result === null) {
                this.result = num
                return
            }
            if (op === "+") {
                this.result = this.result + num
            } else if (op === "-") {
                this.result = this.result - num
            } else if (op === "*") {
                this.result = this.result * num
            } else if (op === "/") {
                this.result = this.result / num
            } else if (op === "%") {
                this.result = this.result % num
            }
            this.setData({ num: this.result })
        },
    
        dotBtn: function() {
            if (this.isClear) {
                this.setData({ num: "0." })
                this.isClear = false
                return
            }
            if (this.data.num.indexOf(".") >= 0) {
                return
            }
            this.setData({ num: this.data.num + "." })
        },
        delBtn: function() {
    
            var num = this.data.num.substr(0, this.data.num.length - 1)
            this.setData({ num: num === "" ? "0" : num })
        },
        resetBtn: function() {
            this.result = null
            this.isClear = false
            this.setData({ num: "0", op: "" })
        }
    })
    
  • 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。

    上一篇下一篇

    猜您喜欢

    热门推荐