浅谈java对象转json,数字精确出现丢失问题
时间:2021-02-07 14:50:33|栏目:JAVA代码|点击: 次
现象
java中的大数字比如18/19位的整数(long),转为json,输出到页面后,就出现精度丢失,如果数字再大些就会出现科学计数法。
这两个问题都不是json工具包(比如Gson)的问题,而是由于js存储大数字丢失精度引起。
1、精度丢失例子:当js表达整数时,最多表达15位数字,如果超过15位就会出现精度丢失问题。
援引js文档:
精度
整数(不使用小数点或指数计数法)最多为 15 位。
最后几位都变为0,丢失精度
var x = 1234567890123456999;
console.log(x);
输出结果:1234567890123457000
2、数字再大一些就会出现,科学计数法
var x = 123456789012345699999999;
console.log(x);
输出结果:1.234567890123457e+23
解决办法
后台属性由数字类型改为字符串,转为json,传到前台就不会丢失了。
上一篇:Springboot集成Kafka实现producer和consumer的示例代码
栏 目:JAVA代码
本文地址:http://www.codeinn.net/misctech/58811.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




