算术运算符用来对数字做计算,就是加、减、乘、除、取余,和数学里一样。

动画视频在《0.1+0.2=0.30000000000000004?ArkTS算术运算符实战详解》。

下面用 10 和 3 各算一次。

let a: number = 10;
let b: number = 3;

console.log('加法:', a + b);
console.log('减法:', a - b);
console.log('乘法:', a * b);
console.log('除法:', a / b);

加法是 13,减法是 7,乘法是 30。除法是 3.3333333333333335,不会自动收成整数。

要整数,用 Math.floor 向下取整,或 Math.trunc 把小数直接砍掉。10 除以 3 这两个都得到 3。

console.log('向下取整:', Math.floor(a / b));
console.log('截断取整:', Math.trunc(a / b));

小数还有一个老问题:0.1 + 0.2 不等于 0.3。计算机用二进制存小数,这两个数都存不准,加起来是 0.30000000000000004。

console.log(0.1 + 0.2);
console.log('保留两位:', (0.1 + 0.2).toFixed(2));

toFixed(2) 把结果收成两位,得到字符串 "0.30"。

零点一加零点二

先开启预览器,再打开日志面板,按 Ctrl + S 保存,才能看到这些行。后面的 console.log 也一样。

取余

% 求的是余数。10 除以 3,商 3,余 1。

用来判断奇偶:一个数对 2 取余,0 是偶数,1 是奇数。

console.log('取余:', 10 % 3);
console.log('偶数判断:', 10 % 2);

第一行是 1。第二行是 0,10 是偶数。

 

自增和自减

++ 是加 1,-- 是减 1。单独写一行,放在变量前面或后面,结果一样。

let count: number = 5;
count++;
console.log('count++ 后:', count);
count--;
console.log('count-- 后:', count);

5 加 1 变成 6,再减 1,回到 5。

写进表达式里,前后缀的返回值不一样。变量自己都会加 1。

let x: number = 5;
console.log('x++ 的返回值:', x++);
console.log('此时 x 的值:', x);

let y: number = 5;
console.log('++y 的返回值:', ++y);
console.log('此时 y 的值:', y);

x++ 先交出原来的 5,再把自己变成 6。所以第一行是 5,下一行 x 已经是 6。

++y 先变成 6,再把 6 交出去。返回值和 y 都是 6。

表达式里差的就是这 1。用不到返回值时,单独写一行就行。


原文地址: https://www.cveoy.top/t/topic/qHWh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录