springboot 解决 数字长度过长导致JS精度丢失问题

时间:2024-04-29 04:38:55

问题

在开发过程中,我们的主键字段使用了数字作为主键ID,发现数字精度丢失的问题。

springboot 解决 数字长度过长导致JS精度丢失问题

上图红框是后端日志的输出。

springboot 解决 数字长度过长导致JS精度丢失问题

在浏览器端F12 看到的结果如上图,数据居然自动变化,这个是数字在浏览器丢失了精度,导致结果不准确。

解决办法:

在序列化时,将数字转序列化成 字符串输出。在springboot 中增加序列化配置,将Long型数据修改成字符输出。

springboot 解决 数字长度过长导致JS精度丢失问题

这里将Long 类型输出为字符串。

再次查看浏览器输出。

springboot 解决 数字长度过长导致JS精度丢失问题

如上图,数字转成了字符串,数字没有丢失精度。