在使用雪花算法(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;