java向前端传递id精度丢失问题

本文探讨了后端向前端传递大整数ID时遇到的精度丢失问题,原因是前端number类型只能存储最多16位,导致超过16位的雪花算法ID精度丢失。解决方案包括将ID转换为String类型或使用@JsonSerialize注解确保Long类型的精确传输。理解这个问题对于前端和后端开发者在数据交互时避免类似错误至关重要。
摘要由CSDN通过智能技术生成

现象描述:
后端向前端传递id , 发现精度丢失 , 后端与前端id不一致问题
后端id为: 1564817150069129295
前端接收id为: 1564817150069129200

解决方案:
1.将id类型改为String类型(不推荐)
2.添加注解(推荐)
@JsonSerialize(using = ToStringSerializer.class)
private Long id;

出现此现象的原因:
前端接收数据类型为number类型 , 最大为16位 , 如果后端id大于16位 , 则会出现精度丢失问题 , 如雪花算法id为18位 , 就会出现精度丢失。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值