浅谈java对象转json,数字精确出现丢失问题
现象
java中的大数字比如18/19位的整数(long),转为json,输出到页面后,就出现精度丢失,如果数字再大些就会出现科学计数法。
这两个问题都不是json工具包(比如Gson)的问题,而是由于js存储大数字丢失精度引起。
1、精度丢失例子:当js表达整数时,最多表达15位数字,如果超过15位就会出现精度丢失问题。
援引js文档:
精度
整数(不使用小数点或指数计数法)最多为15位。
最后几位都变为0,丢失精度
varx=1234567890123456999;
console.log(x);
输出结果:1234567890123457000
2、数字再大一些就会出现,科学计数法
varx=123456789012345699999999;
console.log(x);
输出结果:1.234567890123457e+23
解决办法
后台属性由数字类型改为字符串,转为json,传到前台就不会丢失了。
以上这篇浅谈java对象转json,数字精确出现丢失问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
10 祝孙辈生日祝福语简短
11 恋人跨年祝福语大全简短
12 考大学敬酒简短祝福语
13 开工投产大吉祝福语 简短
14 偶然结婚祝福语朋友简短
15 感谢学长学姐祝福语简短
16 戏精的祝福语简短
17 我要结婚祝福语简短
18 婚前女儿生日祝福语简短