长数字发送到前端数据精度变化问题

长数字发送到前端数据精度变化问题,第1张

长数字发送到前端数据精度变化问题

例:

        数据库的值如下:

        前端数据如下: 

好像有什么不对?数字的最后2位不正确啊!  

这其实是因为JS的长整数精度有限,java的Long类型数据超出了范围,所以出现了精度损失。

我们后台返回的是Json的字符串,在axios内部会自动调用 JSON.parse()方法把json字符串转为JS数据,就会出现进度损失。如果不进行转换,依然当做字符串来使用,就不会有问题了。

也可以重写axios对响应的处理回调函数:

axios({
    method:"post",
    url:"/post",
    data:post,
    // `transformResponse` 在传递给 then/catch 前,允许修改响应数据
    transformResponse: [function (data) {
        // 对 data 进行任意转换处理
        return data;
    }],
}).then(resp=>{}).catch(err=>{})

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5677946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存