由于 JavaScript 中 Number 类型的自身原因,并不能完全表示 Long 型的数字,在 Long 长度大于17位时会出现精度丢失的问题。
当我们把上面的用户 ID 改成 19 位的时候,我们再来看看浏览器请求返回的结果。
浏览器请求结果!
当返回的结果超过17位的时候,后面的全部变成0!
二、解决办法 遇到这种情况,应该怎么办呢?
第一种办法:在后台把 long 型改为String类型,但是代价有点大,只要涉及到的地方都需要改 第二种办法:使用工具进行转化把 long 型改为String类型,这种方法可以实现全局转化(推荐) 第三种办法:前端进行处理(目前没有很好的办法,不推荐) 因为项目涉及到的代码非常多,所以不可能把 long 型改为 String 类型,而且使用 Long 类型的方法非常多,改起来风险非常大,所以不推荐使用!