springboot在控制台查看http接口数据,在preview和response中显示的数据不一致

当后端使用Long类型返回大数值给前端时,由于JavaScript最大接收数字限制在16位,超过这个范围会导致精度丢失。例如,Long类型的9223372036854775807在前端会显示不正确。解决方法是后端将Long类型转换为String返回,前端无需额外处理。这样可以避免因数值精度问题引发的数据不准确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:查看springboot项目返回给前端的http接口时,其中返回的数值类型字段,在前端显示的数据不正确,然后在控制台查看接口返回的字段,发现同一个数据preview和response中显示的内容不一样。

原因:后端返回的数值类型过大,前端精度不够,导致丢失。

比如后端使用Long精度范围:9223372036854775807(2^64-1)

前端JavaScript接收范围:最大接收数字为16位

所以超过16位,存在精度丢失问题。

解决办法:后端把long类型转string返回即可,前端不用做特殊处理去兼容相应的类型。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值