本文原创发布在华为开发者社区

介绍

本示例实现了计算器的计算功能,包括加减乘除四个基本运算,小数计算、百分数计算以及清除结果功能。

实现计算器计算功能源码链接

效果预览

请添加链接描述

使用说明

应用支持加减乘除等基本运算,点击右上角的撤回按钮或者键盘上的'C',可清除输入的数据,点击键盘上蓝色的删除按钮,可一位一位的删除输入数据。

实现思路

删除数据

先获取输入框内的字符长度,将字符转换为数组。通过.slice方法截取数组,每点击一次删除按钮,数组长度减一,结果框中显示的数据少一位,从而实现一位一位删除数据的效果。核心代码如下,源码参考HomePage.ets.

inputDelete(len: number) {
    if (len === 0) {
      return;
    }
    let last = this.expressions[len - 1];
    let lastLen = last.length;
    if (lastLen === 1) {
      this.expressions.pop();
      len = this.expressions.length;
    } else {
      this.expressions[len - 1] = last.slice(0, last.length - 1);
    }
    if (len === 0) {
      this.inputValue = '';
      this.calValue = '';
      return;
    }
    if (!CalculateUtil.isSymbol(this.expressions[len - 1])) {
      this.getResult();
    }
  }

鸿蒙场景化代码
1 声望0 粉丝