JSBigNum是指那些能够处理超出JavaScript标准数字类型(如Number类型)范围的大数的解决方案。在JavaScript中,标准的Number类型只能表示-9007199254740991到9007199254740991之间的整数,超过这个范围的数会被自动转换为Infinity或-Infinity。为了处理这些大数,JavaScript提供了 BigInt 类型以及第三方库如 bignumber.js 。
BigInt的基本用法
BigInt是JavaScript的一个原生数据类型,从ES2020开始引入。BigInt可以表示任意大的整数,不会像标准Number类型那样溢出或丢失精度。声明一个BigInt需要在数字后面加上n后缀,例如:
const num1 = 12345678901234567890n;
const num2 = BigInt(98765432109876543210);
const sum = num1 + num2;
console.log(sum); // 输出: 111111111011111111100
bignumber.js支持高精度的浮点数运算,适用于需要高精度计算的场景,如金融计算和加密货币等
const BigNumber = require('bignumber.js');
const num1 = new BigNumber('123456789012345678901234567890');
const num2 = new BigNumber(12345);
const sum = num1.plus(num2); // 加法
console.log(sum); // 输出: 123456789012345678901234567890.0000000000000001