关于snowflake生成的idwork生成的long过大导致JS精度丢失的问题
2019-02-15 11:54
901 查看
JS的数字类型目前支持的最大值为:9007199254740992,一旦数字超过这个值,JS将会丢失精度,导致前后端的值出现不一致。
JAVA的Long类型的 最大值为:9223372036854775807,snowflake的算法在实现上确实没问题的,但实际运用的时候一定要避免这个潜在的深坑。
有个博友遇到这个问题的解决方案:
https://www.cnblogs.com/do-your-best/p/9443342.html
如果是在项目一开始的时候就发觉到了这个问题,我建议还是把这个id设置为String类型(数据库id是long还是string的那一点性能差距其实真可以忽略)。
相关文章推荐
- js数字位数太大导致参数精度丢失问题
- Tomcat 关于表单提交数据量过大导致数据丢失的问题
- 关于java中long类型的数据转换json传到前台时丢失精度问题的解决办法
- 关于数据序列化(5),定制FastJSON序列化(解决Java大Long类型js的Number接收丢失数据的问题,不序列化某些属性)
- java的long类型转为json格式后,js中精度丢失问题
- [JS] js数字位数太大导致参数精度丢失问题
- js数字位数太大导致参数精度丢失问题
- 关于js生成阴影文字在IE上的问题
- 关于JavaScript中计算精度丢失的问题
- 关于JavaScript中计算精度丢失的问题(二)
- 经得起雷劈:关于double和int/long相互转换失去精度计算错误的问题
- js加减乘除丢失精度问题解决方法
- 关于js浮点精度计算不准确的问题及解决方法
- js加减乘除丢失精度问题
- js 浮点运算出现的精度丢失问题
- 关于小数负数丢失精度的问题
- float和double丢失精度问题,可用Long来转换
- 关于spring mvc拦截器拦截js文件等导致无法正常使用问题的解决
- 关于Java中用Double型运算时精度丢失的问题,真的很蛋疼!
- JS 浮点数四则运算精度丢失问题