本文原创发布在华为开发者社区。
介绍
本示例实现了计算器的计算功能,包括加减乘除四个基本运算,小数计算、百分数计算以及清除结果功能。
效果预览
使用说明
应用支持加减乘除等基本运算,点击右上角的撤回按钮或者键盘上的'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();
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。