BigInt
声明方式
1 2 3
| const a = 1n; const b = new BigInt(1); const c = new BigInt("1");
|
BigInt 和 Number 区别
- BigInt 不能用于 Math 对象的方法
- BigInt 不能和 Number 混合运算
- BigInt 被转化为 Number 可能会丢失精度
字符串格式数字的乘法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| function multiply(a, b) { if (a === "0" || b === "0") { return "0"; } const aArr = a.split("").reverse(); const bArr = b.split("").reverse(); const result = []; for (let i = 0; i < aArr.length; i++) { for (let j = 0; j < bArr.length; j++) { const index = i + j; result[index] = (result[index] || 0) + aArr[i] * bArr[j]; } } for (let i = 0; i < result.length; i++) { if (result[i] >= 10) { result[i + 1] = (result[i + 1] || 0) + Math.floor(result[i] / 10); result[i] = result[i] % 10; } } return result.reverse().join(""); }
|
-
Next Post
防抖和节流
-
Previous Post
浅拷贝与深拷贝