小程序开发之计算器
在这篇微信小程序开发教程中,我们将介绍如何使用微信小程序开发计算器功能。
本文主要分为两个部分,小程序主体部分及计算器业务页面部分
一、小程序主体部分
一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:
1. 小程序逻辑
App({ onLaunch: function() { // Do something initial when launch. }, onShow: function() { // Do something when show. }, onHide: function() { // Do something when hide. }, globalData: 'I am global data'})
2. 小程序公共设置
{ "pages": [ "page/index/index" ], "window": { "navigationBarBackgroundColor": "#000", "backgroundColor": "#000", "navigationBarBackgroundColor": "#000" }, "networkTimeout": { "request": 10000, "connectSocket": 10000, "uploadFile": 10000, "downloadFile": 10000 }, "debug": true }
二、计算器页面部分
计算器页面主要由以下文件组成。
1. 计算器页面结构
页面结构分为2个主要部分:显示区和键盘区
其中键盘区又分功能键、数字键,及运算键,页面结构如下
<template name="calculator-key"> <button hover-start-time="{{5}}" hover-stay-time="{{20}}" hover-class="calculator-key-hover" data-key="{{className}}" class="calculator-key {{className}}">{{display}}</button></template><view class="calculator"> <view class="calculator-display"> <view class="calculator-display-text">{{displayValue}}</view> </view> <view class="calculator-keypad"> <view class="input-keys"> <view class="function-keys" catchtap="onTapFunction"> <template is="calculator-key" data="{{className: 'key-clear', display: clearDisplay ? 'C' : 'AC'}}"/> <template is="calculator-key" data="{{className: 'key-sign', display: '±'}}"/> <template is="calculator-key" data="{{className: 'key-percent', display: '%'}}"/> </view> /*sdf*/ <view class="digit-keys" catchtap="onTapDigit"> <template is="calculator-key" data="{{className: 'key-0', display: '0'}}"/> <template is="calculator-key" data="{{className: 'key-dot', display: '●'}}"/> <template is="calculator-key" data="{{className: 'key-1', display: '1'}}"/> <template is="calculator-key" data="{{className: 'key-2', display: '2'}}"/> <template is="calculator-key" data="{{className: 'key-3', display: '3'}}"/> <template is="calculator-key" data="{{className: 'key-4', display: '4'}}"/> <template is="calculator-key" data="{{className: 'key-5', display: '5'}}"/> <template is="calculator-key" data="{{className: 'key-6', display: '6'}}"/> <template is="calculator-key" data="{{className: 'key-7', display: '7'}}"/> <template is="calculator-key" data="{{className: 'key-8', display: '8'}}"/> <template is="calculator-key" data="{{className: 'key-9', display: '9'}}"/> </view> </view> <view class="operator-keys" catchtap="onTapOperator"> <template is="calculator-key" data="{{className: 'key-pide', display: '÷'}}"/> <template is="calculator-key" data="{{className: 'key-multiply', display: '×'}}"/> <template is="calculator-key" data="{{className: 'key-subtract', display: '−'}}"/> <template is="calculator-key" data="{{className: 'key-add', display: '+'}}"/> <template is="calculator-key" data="{{className: 'key-equals', display: '='}}"/> </view> </view></view>
2. 计算器样式表
样式代码如下所示
@import "reset.wxss"; page { font: 100 14px 'Roboto'; }.calculator { width: 100%; height: 100vh; background: black; position: relative; box-shadow: 0px 0px 20px 0px #aaa; display: flex; flex-direction: column; box-sizing: border-box; }.calculator-display { background: #1c191c; flex: 1; }/*TODO:解决文本垂直居中问题*/.calculator-display-text { padding: 0 30px; font-size: 6em; color: white; text-align: right; }.calculator-keypad { display: flex; }.calculator .function-keys { display: flex; }.calculator .digit-keys { background: #e0e0e7; display: flex; flex-direction: row; flex-wrap: wrap-reverse; }.calculator-key-hover { box-shadow: inset 0px 0px 25vw 0px rgba(0,0,0,0.25); }.calculator-key { display: block; width: 25vw; height: 25vw; line-height: 25vw; border-top: 1px solid #777; border-right: 1px solid #666; text-align: center; box-sizing: border-box; }.calculator .function-keys .calculator-key { font-size: 2em; }.calculator .digit-keys .calculator-key { font-size: 2.25em; }.calculator .digit-keys .key-0 { width: 50vw; text-align: left; padding-left: 9vw; }.calculator .digit-keys .key-dot { padding-top: 1em; font-size: 0.75em; }.calculator .operator-keys .calculator-key { color: white; border-right: 0; font-size: 3em; }.calculator .function-keys { background: linear-gradient(to bottom, rgba(202,202,204,1) 0%, rgba(196,194,204,1) 100%); }.calculator .operator-keys { background: linear-gradient(to bottom, rgba(252,156,23,1) 0%, rgba(247,126,27,1) 100%); }.input-keys { width: 75%; }.operator-keys { width: 25%; }
3、 计算器页面逻辑处理
Page({ data: { value: null, // 上次计算后的结果,null表示没有上次计算的结果 displayValue: '0', // 显示数值 operator: null, // 上次计算符号,null表示没有未完成的计算 waitingForOperand: false // 前一按键是否为计算符号 }, onLoad: function(options) { this.calculatorOperations = { 'key-pide': (prevValue, nextValue) => prevValue / nextValue, 'key-multiply': (prevValue, nextValue) => prevValue * nextValue, 'key-add': (prevValue, nextValue) => prevValue + nextValue, 'key-subtract': (prevValue, nextValue) => prevValue - nextValue, 'key-equals': (prevValue, nextValue) => nextValue } }, /* AC操作,一下回到解放前 */ clearAll() { this.setData({ value: null, displayValue: '0', operator: null, waitingForOperand: false }) }, /* 仅清空当前显示的输入值 */ clearDisplay() { this.setData({ displayValue: '0' }) }, onTapFunction: function(event) { const key = event.target.dataset.key; switch(key) { case 'key-clear': if (this.data.displayValue !== '0') { this.clearDisplay(); } else { this.clearAll(); } break; case 'key-sign': var newValue = parseFloat(this.data.displayValue) * -1 this.setData({ displayValue: String(newValue) }) break; case 'key-percent': const fixedDigits = this.data.displayValue.replace(/^-?\d*\.?/, '') var newValue = parseFloat(this.data.displayValue) / 100 this.setData({ displayValue: String(newValue.toFixed(fixedDigits.length + 2)) }); break; default: break; } }, onTapOperator: function(event) { const nextOperator = event.target.dataset.key; const inputValue = parseFloat(this.data.displayValue); if (this.data.value == null) { this.setData({ value: inputValue }); } else if (this.data.operator) { const currentValue = this.data.value || 0; const newValue = this.calculatorOperations[this.data.operator](currentValue, inputValue); this.setData({ value: newValue, displayValue: String(newValue) }); } this.setData({ waitingForOperand: true, operator: nextOperator }); }, onTapDigit: function(event) { const key = event.target.dataset.key; // 根据data-key标记按键 if(key == 'key-dot') { // 按下点号 if (!(/\./).test(this.data.displayValue)) { this.setData({ displayValue: this.data.displayValue + '.', waitingForOperand: false }) } } else { // 按下数字键 const digit = key[key.length-1]; if (this.data.waitingForOperand) { this.setData({ displayValue: String(digit), waitingForOperand: false }) } else { this.setData({ displayValue: this.data.displayValue === '0' ? String(digit) : this.data.displayValue + digit }) } } } })
三、程序效果图
【相关推荐】
Atas ialah kandungan terperinci 小程序开发之计算器. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Ac pada kalkulator ialah kekunci "all clear" Nama penuh bahasa Inggeris ac ialah "All Clear", yang bermaksud "all clear key" bermaksud mengosongkan nilai dalam semua register; , tekan pertama Menekan kekunci ac akan mengosongkan semua nilai kecuali kandungan memori.

E dalam kalkulator mewakili kuasa 10, yang bermaksud eksponen dengan asas 10. Contohnya, 1.99714E13 bersamaan dengan 19971400000000 menyatakan nombor dalam bentuk darab dengan kuasa ke-10 dipanggil tatatanda saintifik : Apabila kita ingin menandakan atau mengendalikan sesuatu yang lebih besar atau lebih kecil dengan bilangan digit yang banyak, kita boleh menggunakan tatatanda saintifik untuk mengelakkan pembaziran banyak ruang dan masa.

Sistem win10 mempunyai banyak fungsi yang berkuasa, yang menarik ramai netizen untuk memuat turun, memasang dan menggunakannya Terdapat juga banyak alat praktikal, seperti alat kalkulator win10. Sesetengah netizen masih tidak tahu cara membuka kalkulator Win10. Biar saya ajar anda cara membuka kalkulator Win10. Kaedah 1: Cari dalam menu Mula 1. Pada desktop sistem Windows 10, klik item menu "Mula/Kalkulator". 2. Anda boleh membuka tetingkap kalkulator Windows 10. Kaedah 2: Buka Carian Cortana 1. Pada desktop Windows 10, klik ikon "Carian Cortana" di penjuru kiri sebelah bawah bar tugas. 2. Masukkan kata kunci "kalkulator" dalam menu pop timbul untuk mencari, dan klik item menu kalkulator dalam hasil carian.

无存储功能的计算器指的是科学型计算器;科学型计算器是电子计算器的一种,可进行乘方、开方、指数、对数、三角函数、统计等方面的运算,又称函数计算器;计算器一般由运算器、控制器、存储器、键盘、显示器、电源和一些可选外围设备及电子配件组成。

Kalkulator jujukan Fibonacci yang cekap: Pelaksanaan PHP jujukan Fibonacci ialah masalah matematik yang sangat klasik Peraturannya ialah setiap nombor adalah sama dengan jumlah dua nombor sebelumnya, iaitu, F(n)=F(n -1)+F. (n-2), di mana F(0)=0 dan F(1)=1. Apabila mengira jujukan Fibonacci, ia boleh dilaksanakan secara rekursif, tetapi masalah prestasi akan berlaku apabila nilai meningkat. Oleh itu, artikel ini akan memperkenalkan cara menulis Fibonacci yang cekap menggunakan PHP

Bagaimana untuk melaksanakan fungsi kalkulator mudah menggunakan JavaScript? Kalkulator adalah salah satu alat yang biasa digunakan dalam kehidupan seharian kita. Ia boleh digunakan untuk melaksanakan operasi matematik yang mudah. Hari ini, kami akan menggunakan JavaScript untuk melaksanakan fungsi kalkulator mudah. Dalam artikel ini, saya akan menunjukkan kepada anda cara menulis kod dalam JavaScript untuk melaksanakan operasi matematik asas dan antara muka kalkulator. Pertama, kita perlu mencipta fail HTML yang mengandungi teks untuk memaparkan hasil operasi.

Rakan-rakan, adakah anda tahu cara menukar mata wang pada kalkulator sistem Mac Hari ini saya akan menerangkan cara menukar mata wang pada kalkulator sistem Mac Jika anda berminat, sila datang dan lihat dengan saya. Langkah 1: Buka kalkulator sistem Mac, klik Tukar pada bar menu. Langkah 2: Dalam menu Penukaran, klik Mata Wang. Langkah 3: Selepas memilih mata wang untuk ditukar, klik butang Tukar.

Kekunci "AC" pada kalkulator bermaksud "All Clear". Menekan kekunci AC akan mengosongkan semua input dan operasi dalam kalkulator dan menetapkan semula kalkulator kepada keadaan awalnya, yang sama dengan memulakan semula pengiraan.
