Laravel 中通过接口返回商品 ID (雪花算法生成) 给前台会导致后面两位数会变化,是超出长度的原因吗?

商品列表删除商品的时候,发现删除不了商品,排查了一番不是缓存的问题。
仔细排查之后发现是后台获取商品列表接口返回商品ID之后,在前台出现了ID最后几位混乱了。。
下图是后台资源里面数据格式.
id ids是给的同一个值,将ID转成了string类型之后,就不会出现混乱。。
后台资源代码

下图是接口获取的值. 通过字符串形式传过来就是正确的,但是整形传过来就乱了。数据库中ID字段的长度是够的。
接口值

请问有人知道是什么原因吗?好奇怪啊。。。

面向Google编程
drinke9
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

大于 9007199254740992 的可能会丢失精度

可以看看这俩篇文章
https://blog.csdn.net/qq_42209411/article/...
https://www.jb51.net/article/160050.htm

4年前 评论
讨论数量: 5

大于 9007199254740992 的可能会丢失精度

可以看看这俩篇文章
https://blog.csdn.net/qq_42209411/article/...
https://www.jb51.net/article/160050.htm

4年前 评论
drinke9

感谢回复@dengminfeng ,确实是精度问题!真是个大坑

4年前 评论

JS 暂时还办不到。

  • 可以转换成 String 类型。
  • 用稍微短一点的雪花 ID 算法,毕竟也不是所有系统都能有那么多机器。
4年前 评论

PHP返回的所有值都是返回字符串

4年前 评论

php端强制转换为字符串类型后再输出

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!