雪花Id传递给前端精度丢失问题

问题:

后端Id设置为Long类型时,传递给前端,最后两位变成了00。

分析:

Number最大的整数范围是: -9007199254740991 到 9007,1992,5474,0991(-2^53 到 2 ^53)

Long的最大数值范围是:-9223372036854775808 到 922,3372,0368,5477,5807(-2^64 到 2^64-1)

最后问题就知道了,Long的精度比Number的精度高,Long的最大长度是19位,Number最大长度是16位,因此最后三位精度丢失出现了000的情况。

解决办法:

将Id传给前端之间转化为字符串。通用办法是添加@JsonSerialize(using = ToStringSerializer.class)

猜你喜欢

转载自blog.csdn.net/ZWP_990527/article/details/129415567