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

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

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

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

面向 Google 编程
drinke9
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

大于 9007199254740992 的可能会丢失精度

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

5年前 评论
讨论数量: 5

大于 9007199254740992 的可能会丢失精度

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

5年前 评论
drinke9

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

5年前 评论

JS 暂时还办不到。

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

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

5年前 评论

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

5年前 评论