在使用雪花算法(SnowFlake
)的时候,产生18位的Long类型数值。
如: 668565260419989504
,在JS中变为 668565260419989500
。
分析
JS的基础类型Number
,遵循IEEE 754
规范,采用双精度存储(double precision
),具有53
位有效数字精度,并总共占用64 bit
。默认模式是最近舍入(Round to Nearest
)。
不超过Math.pow(2, 53) = 9007199254740992
(16位) 不会丢失精度。
处理
// Jackson
@JsonSerialize(using = com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
private long id;
// FastJson
@JSONField(serializeUsing = com.alibaba.fastjson.serializer.ToStringSerializer.class)
private long id;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。