解决字符串数组中大整数精度问题

示例:

'[{"specId": 3140724743078936585, "quantity": 1, "specName": "箱"}, {"specId": 3140724798770905093, "quantity": 10, "specName": "盒"}, {"specId": 3140724905885040644, "quantity": 100, "specName": "包"}]'

上面这组数据要求转为数组进行下拉展示,大部分情况下,我们会直接考虑JSON.parse实现,但是此时因为数据中存在大整数,转换之后会导致specId值出现精度问题,导致Id值不对

 

补充

JSON.parse 转换不能实现的原因: JSON标准中并没有区分数字和字符串,所以默认情况下,JSON.parse会将看起来像数字的值转换为数字

 

解决办法:

1: 使用 BigInt (不能实现,还是存在偏差)

2

 

2:自定义函数将数字替换为字符串(可以实现)

image

 3:使用第三方库-json-bigint(可以实现)

image

 

posted @ 2025-09-26 18:08  收破烂的小伙子  阅读(14)  评论(0)    收藏  举报