成都网站建设设计

将想法与焦点和您一起共享

浅谈java对象转json,数字精确出现丢失问题

现象

10余年的治多网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整治多建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“治多网站设计”,“治多网站推广”以来,每个客户项目都认真落实执行。

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,传到前台就不会丢失了。

以上这篇浅谈java对象转json,数字精确出现丢失问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持创新互联。


文章标题:浅谈java对象转json,数字精确出现丢失问题
文章转载:http://chengdu.cdxwcx.cn/article/jcpcio.html