前端解决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. 解决方法: ...
随机推荐
- PowerBuilder编程新思维10.5:外传2(PowerPlume下一代开发解决方案)
万里归来年愈少 PB编程新思维10.5:外传2(PowerPlume下一代解决方案) 前言 今天我们就来盘点一下,PB下一代开发的所有技术可能性.所谓下一代开发技术,就是指脱离或半脱离PBVM的应用开 ...
- 解决方案 | AutoCAD 版本+版本号+受支持的 .NET SDK版本+.NET Framework版本
关于 Managed .NET 兼容性 Managed .NET 应用程序通常与扩展基于 AutoCAD 的产品的行为和功能的公司和第三方应用程序关联. 在移植到最新版本后,并非所有 .NET 应用程 ...
- Linux服务器PBS任务队列作业提交脚本的使用方法
本文介绍在Linux服务器中,通过PBS(Portable Batch System)作业管理系统脚本的方式,提交任务到服务器队列,并执行任务的方法. 最近,需要在学校公用的超算中执行代码任务 ...
- 【Spring-Security】Re04 Matchers配置规则API
一.使用antMatchers放行静态资源: package cn.zeal4j.configuration; import cn.zeal4j.handler.FarsAuthenticationF ...
- Efficientvit: Enhanced linear attention for high-resolution low-computation visual recognition
GitHub地址: https://github.com/mit-han-lab/efficientvit#usage 相关: https://www.jetson-ai-lab.com/vit/tu ...
- 什么是智慧城市(Smart City)?
Smart City是一个常见的概念,但是这个东西,这个名词到底指代的是什么却一直搞不太清,于是就查了查资料,有了这篇blog. 参考: https://baijiahao.baidu.com/s?i ...
- 人形机器人(humanoid)(双足机器人、四足机器人)—— 操控员 —— 机器人数据收集操作员
参考: https://www.youtube.com/watch?v=jbQ4M4SNb2M 机器人数据收集操控员,就和大模型训练数据收集员.数据类型标识员(打标签人员)一样,都是为了人工生成AI训 ...
- 【转载】 Tensorflow Guide: Batch Normalization (tensorflow中的Batch Normalization)
原文地址: http://ruishu.io/2016/12/27/batchnorm/ ------------------------------------------------------- ...
- 给大家降降火 —— AI养殖是否夸大功效 —— 深大学生用AI养乌骨鸡增产6万只
看到一个新闻: 地址: https://export.shobserver.com/baijiahao/html/705726.html 这个新闻里面说的就是这个腾讯的对口培养的大学生搞了一个AI养殖 ...
- 如何为华为超算平台设置cuda路径
在提交主机上修改.bashrc文件: 第一种: 使用运行主机上的cuda环境: # CUDAexport PATH=/usr/local/cuda-11.4/bin:$PATHexport LD_LI ...