浅谈java对象转json,数字精确出现丢失问题
现象 java中的大数字比如18/19位的整数(long),转为json,输出到页面后,就出现精度丢失,如果数字再大些就会出现科学计数法。 这两个问题都不是json工具包(比如Gson)的问题,而是由于js存储大数字丢失精度引起。 1、精度丢失例子:当js表达整数时,最多表达15位数字,如果超过15位就会出现精度丢失问题。 援引js文档: 精度 整数(不使用小数点或指数计数法)最多为 15 位。 最后几位都变为0,丢失精度 var x = 1234567890123456999; 输出结果:1234567890123457000 2、数字再大一些就会出现,科学计数法 var x = 123456789012345699999999; 输出结果:1.234567890123457e+23 解决办法 后台属性由数字类型改为字符串,转为json,传到前台就不会丢失了。 以上这篇浅谈java对象转json,数字精确出现丢失问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |