在使用雪花算法(SnowFlake
)的时候,产生18位的Long类型数值。
如: 668565260419989504
,在JS中变为 668565260419989500
。java
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;