我最近找到了bignumber.js
库:
来源: https://github.com/MikeMcl/bignumber.js
我不确定的是,操作次数有多大?我一直在查看文档,试图在线查找源代码。但到目前为止还没有。
答案 0 :(得分:1)
我还没有与bignumber.js
合作过,但只是瞥了一眼
http://mikemcl.github.io/bignumber.js/#range告诉我,它似乎是可配置的。
BigNumber.config({ RANGE: 500 })
BigNumber.config().RANGE // [ -500, 500 ]
new BigNumber('9.999e499') // '9.999e+499'
new BigNumber('1e500') // 'Infinity'
new BigNumber('1e-499') // '1e-499'
new BigNumber('1e-500') // '0'
答案 1 :(得分:1)
如果你运行:
console.log(new BigNumber('123456789012345678901234567890').c);
您可以看到数字存储为数组,最多14位
所以实际的限制是你可以为数组增加的最大长度乘以14.这在很大程度上取决于你的机器,但假设你拥有最好的机器,ECMA-262 v6.0说{{3} },这是the limit is for the length of an array is 2^32-1
的大小,所以,从理论上讲,你可以使用该库存储一个14 * (2^32-1)
位的数字,这类似于:
console.log(new BigNumber(2).pow(32).sub(1).mul(14).toString());
60129542130
位数