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
相关推荐
#麻辣小龙虾#19 分钟前
基于vue3.0开发一款【固废与废气运维管理系统】(支持源码)Cosolar24 分钟前
Docsify零构建文档站完全指南:从快速搭建到企业级部署weixin_4713830337 分钟前
Taro-02-页面路由星栈独行44 分钟前
Makepad 应用如何读文件、调接口、保存数据一 乐1 小时前
家政服务管理系统|基于springboot + vue家政服务管理系统(源码+数据库+文档)IT_陈寒1 小时前
Vite热更新失效?可能你在用Windows烬羽2 小时前
后端返回的 JSON 字符串,浏览器怎么"看懂"的?——Ajax 全链路拆解tedcloud1232 小时前
taste-skill部署教程:打造个性化AI推荐工作流xinhuanjieyi2 小时前
html修复游戏种太阳错误碳基硅坊2 小时前
Spring AI:把大模型接进 Spring 应用