js中精度超16位解决方法

注意:js中的数值Number没人是int,4个字节,16位,最大只能存16位,超16位后面的数据可能会被转化为0

var Num = 1234567891011121314
js会被转化为 1234567891011121000

解决方法:

json-bigint是一个第三方包,它在把json字符串转json对象的过程中,自动识别大整数,把大整数转成一个对象来表示,这样就不会产生精度丢失的问题了。

1、安装

npm i json-bigint

2、引入

import JSONbig from 'json-bigint'

3、在接口处处理

 transformResponse: [function (data) {
    try {
      return JSONBig.parse(data)
    } catch (err) {
      return data
    }
 
    // axios 默认会在内部这样来处理后端返回的数据
    // return JSON.parse(data)
  }]
})

猜你喜欢

转载自blog.csdn.net/weixin_53841730/article/details/130482544