前端解决Long类型精度丢失的问题
问题
数据库数据:

前端得到的数据:

出现了Long类型的数据出现精度丢失问题!
原因
JS中Long最大值:9007199254740992
JAVA中Long最大值:9223372036854775807
雪花算法id外加数据范围的不同导致地前后端不匹配
解决方法
把Long类型转为String再传给前端;
这里用的方法是通过 Jackson 序列化的注解@JsonSerialize(using = ToStringSerializer.class),将 Java 对象序列化为 JSON 时,将某个字段强制转换为字符串类型输出。

这个注解常用于对某些数据类型(如 Long 或 BigInteger)进行处理,特别是在前端(如 JavaScript)可能无法正确处理大整数时,避免精度丢失的问题。
结果展示

前端解决Long类型精度丢失的问题的更多相关文章
- Java-从Double类型精度丢失认识BigDecimal
Java-从Double类型精度丢失认识BigDecimal 参考资料 https://www.jianshu.com/p/07e3eeb90f18 https://zh.wikipedia.org/ ...
- 后端传Long类型至前端js会出现精度丢失问题
今天开发遇到个问题,Java后端的Long类型数据,传到前端会出现精度丢失,如:164379764419858435,前端会变成164379764419858430.在浏览器中做测试可知,这就是一个精 ...
- Java-Long类型精度丢失问题
问题 今天碰到一个问题,后端需要返回给前端Long类型的id,前端收到的id会发生精度丢失. 测试代码:后端返回的值为344739147160346624 但是前端获取的值为: 解决办法 将返回的值转 ...
- Java:利用BigDecimal类巧妙处理Double类型精度丢失
目录 本篇要点 经典问题:浮点数精度丢失 十进制整数如何转化为二进制整数? 十进制小数如何转化为二进制数? 如何用BigDecimal解决double精度问题? new BigDecimal(doub ...
- Spring Mvc Long类型精度丢失
背景 在使用Spring Boot Mvc的项目中,使用Long类型作为id的类型,但是当前端使用Number类型接收Long类型数据时,由于前端精度问题,会导致Long类型数据转换为Number类型 ...
- C# double类型精度丢失问题
我们先看一段代码,可以在控制台程序中执行看看结果 { double d = 500; double d1 = 233.84; double d2 = d - d1; //d2=266.15999999 ...
- JS处理Long类型精度丢失问题
解决方式一 json注解 public class ProductVo { @JsonSerialize(using=ToStringSerializer.class) private Lo ...
- 在进行商业运算时解决BigDecimal的精度丢失问题
System.out.println(0.05+0.01); System.out.println(1.0-0.42); System.out.println(4.015*100); System.o ...
- Spring MVC自定义消息转换器(可解决Long类型数据传入前端精度丢失的问题)
1.前言 对于Long 类型的数据,如果我们在Controller层通过@ResponseBody将返回数据自动转换成json时,不做任何处理,而直接传给前端的话,在Long长度大于17位时会出现精度 ...
- 后端把Long类型的数据传给前端,前端可能会出现精度丢失的情况,以及解决方案
后端把Long类型的数据传给前端,前端可能会出现精度丢失的情况.例如:201511200001725439这样一个Long类型的整数,传给前端后会变成201511200001725440. 解决方法: ...
随机推荐
- Java 代码实现POST/GET请求
方式一 package com.cyb.util; import java.io.BufferedReader; import java.io.DataOutputStream; import jav ...
- C++ Constructor And Destructor
if you have problems with constructors and destructors, you can insert such print statements in cons ...
- 深度学习论文翻译解析(二十三):Segment Angthing
论文标题:Segment Angthing 论文作者: Alexander Kirillov Eric Mintun Nikhila Ravi Hanzi Mao... 论文地址:2304.02 ...
- thinkphp5 关于跨域的一些坑
1.首先在tp5的入口文件:public/index.php 在里面添加三行: // [ 应用入口文件 ] header("Access-Control-Allow-Origin:*&quo ...
- 操作系统|C语言模拟实现首次适应和最佳适应两种内存分配算法以及内存回收
两种算法 首次适应 首次适应算法从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法目的在于减少查找时间.为适应这种算法,空闲分区表(空闲区链)中的空闲分区要按地址由低到 ...
- 数组的创建-数组-C
数组内存是连续的 数组是一个整体,它的内存是连续的:也就是说,数组元素之间是相互挨着的,彼此之间没有一点点缝隙.下图演示了int a[4];在内存中的存储情形: 「数组内存是连续的」这一点很重要,所以 ...
- Sonar 扫描之分析参数介绍
Sonar扫描之分析参数介绍 强制参数 服务器 Key 描述 默认 sonar.host.url 服务器网址 http://localhost:9000 项目配置 Key 描述 默认 sonar.pr ...
- leetcode2397. 被列覆盖的最多行数 回溯法/枝剪
第一次手搓一个回溯法,超时后采用枝剪勉强通过 class Solution { int max=0; int numSelect; public int maximumRows(int[][] mat ...
- python网络通信:IP/端口基础知识
1.学习网络编程的目的 将多个设备通过网络连接在一起,进行数据共享 2.IP地址 作用:在逻辑上标记一台电脑 特点:没有重复的 3.通过收发数据理解IP地址的作用 dest ip 表示目的ip/src ...
- 新版宝塔面板快速搭建WordPress新手教程
一.宝塔面板介绍 1. 介绍 宝塔面板是一款服务器管理软件,支持Windows和Linux系统,可以通过Web端轻松管理服务器,提升运维效率,该软件内置了创建管理网站.FTP.数据库.可视化文件管理器 ...