3.JS超过Number最大数怎么处理?
在JS中呢,超过Number.MAX_VALUE
的数值被认为是Infinity
(正无穷大),如果要处理超过最大值的数据,可以使用第三方库big.js
或者是bignumber.js
,这些库可以处理任意精度的数值
1. 场景
- 大数据的计算会出现这种情况
- 数据分析
- 格式展示
- 用户输入
2. 方案
const bigNum=BigInt('1111111112123213247328947893274893274892374823')
bigNum+bigNum
const Decimal=new Decimal('21387219372019839012839012839')
const Decimal=new Decimal('1e+308')
在需求层面上能不能直接解决这个问题,比如用户输入的时候,限制输入长度或者数字的大小
3. 总结
- bigint处理大数据
- decimal 来处理
- big.js 来处理
- 格式化,格式化成用户好读的格式 100000000000 1亿
- 表单校验,不允许用户输入超过多少位的数字