js或者ts怎么解析 服务端传的int64

哪位大哥知道,js或者ts怎么解析 服务端传来的int64

解析完也确定不超过Number.MAX_SAFE_INTEGER的话就看序列化是什么方式了呗,明文的你肯定知道,二进制的就用TypedArray

let a:number = 服务器返回的(int64)

搞定=。=

DataView.getBigInt64()

都不用probuf这些的吗

js number是浮点类型存储最多53位,传64位要溢出了,解决方案:后端改为字符串或者借助long.js库, 拆分成2个int 32

1赞

这个是es6才支持的吧,

es5没有,请问这个es6是浏览器自动支持的吗

和语言无关应该,2.4的能使用 没测逻辑 执行正确,浏览器没试 你自己用用看

借助下库,我就是这么用的 https://gist.github.com/zrong/6e8d6b733158b0539bf2#file-int64-ts

这个只能支持到int53吧image

读取两个32位的,然后合并大到一起
image
然后在加上一个上线判断
if (!Number.isSafeInteger(combined))

        console.warn(combined, '超过 MAX_SAFE_INTEGER。可能存在精度丢失。');