后端我们常常会用Long类型的数据作为ID,例如用雪花算法生成唯一ID
java中long类型的取值范围 (-9,223,372,036,854,775,808)(9,223,372,036,854,775,807)。有19位数字
JavaScript的Number类型是浮点数类型,它可以表示的整数范围是从(-9,007,199,254,740,992)到2^53(9,007,199,254,740,992)只有16位数字
所以转换过程中会有精度损失
解决办法,将java long类型的数据转换为字符串返回
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
在后端开发中,Long类型常用于生成唯一ID,如雪花算法。然而,当这些ID传递给前端JavaScript时,由于Number类型的限制,可能会导致精度丢失。JavaScript的Number能表示的整数范围比Java的long小,因此转换时会出现问题。为解决这个问题,文章提出了将Java的Long类型数据转换为字符串进行传递的方法,例如使用@JsonSerialize注解配合ToStringSerializer类。
1001

被折叠的 条评论
为什么被折叠?



