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)
  }]
})

Guess you like

Origin blog.csdn.net/weixin_53841730/article/details/130482544