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

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

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

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

面向Google编程
drinke9
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

大于 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年前 评论

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