|
今天项目中发现一个问题,前端获取数值跟后台传值不一致,查询过后发现是数值太大导致JS数值精度丢失
图片:a.png ![]() 如图! JS的数字类型目前支持的最大值为:9007199254740992, 一旦数字超过这个值,JS将会丢失精度,导致前后端的值出现不一致 然而,JAVA的Long类型的 最大值为:9223372036854775807, snowflake的算法在实现上确实没问题的,但实际运用的时候一定要避免这个潜在的深坑。 关于具体解决方案,解决方案! 因为涉及java方面知识,本人java半吊子,所以就就直接贴了一个链接, 如果是在项目一开始的时候就发觉到了这个问题,我建议还是把这个id设置为String类型(数据库id是long还是string的那一点性能差距其实真可以忽略)。 |
|
最新喜欢: |
|
沙发#
发布于:2019-09-10 07:05
涉及的id,如果数字比较大的话,一般都是string ,数值小,像分类表这类的id的话,还是可以用int . 楼主id这个长度,应该是用string类型,赞成楼主的建议
|
|
