Java 的
Long类型可以表示**-2^63** 到**2^63-1** 的整数JavaScript 的
Number类型是基于 IEEE 754 双精度浮点数标准,只能安全表示 -2^53 到 2^53 之间的整数。前端接收到的 JSON 中
userId: 1975534353465823200(数字格式),JavaScript 将其解析为Number类型,超出精度范围,精度丢失,变成1975534353465823234安全整数范围 :
-9007199254740991到9007199254740991超出范围的数字会丢失精度
比如:
javascript// JavaScript 安全整数 console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991 // 超出安全范围的数字 const id = 1975534353465823200; console.log(id); // 1975534353465823234 ← 最后几位发生变化!解决方法:
后端序列化时转为字符串,在所有返回给前端的 VO 类中,对
Long类型的 ID 字段添加注解:
javascript/** * 使用字符串序列化避免前端精度丢 */ @JsonSerialize(using = ToStringSerializer.class) private Long id;
前后端Long类型ID精度丢失问题
前端小马2025-10-09 20:36
相关推荐
东东51612 分钟前
智能社区管理系统的设计与实现ssm+vuecatino15 分钟前
图片、文件的预览故事和你9143 分钟前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)Configure-Handler1 小时前
buildroot System configuration2501_920931702 小时前
React Native鸿蒙跨平台实现推箱子游戏,完成玩家移动与箱子推动,当所有箱子都被推到目标位置时,玩家获胜:Concerto2 小时前
JavaSE 注解layman05282 小时前
webpack5 css-loader:从基础到原理半桔2 小时前
【前端小站】CSS 样式美学:从基础语法到界面精筑的实战宝典AI老李2 小时前
PostCSS完全指南:功能/配置/插件/SourceMap/AST/插件开发/自定义语法_OP_CHEN2 小时前
【前端开发之CSS】(一)初识 CSS:网页化妆术的终极指南,新手也能轻松拿捏页面美化!