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

 更新时间:2017年03月05日 10:54:09   投稿:jingxian  
下面小编就为大家带来一篇浅谈java对象转json, 数字精确出现丢失问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

现象

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实现简单的加减乘除计算器

    java实现简单的加减乘除计算器

    这篇文章主要为大家详细介绍了java实现简单的加减乘除计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Spring框架通过工厂创建Bean的三种方式实现

    Spring框架通过工厂创建Bean的三种方式实现

    这篇文章主要介绍了Spring框架通过工厂创建Bean的三种方式实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • IDEA社区版创建spring boot项目的安装插件的图文教程

    IDEA社区版创建spring boot项目的安装插件的图文教程

    这篇文章主要介绍了IDEA社区版创建spring boot项目的安装插件,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • 解决Idea的选择文件后定位瞄准器"Select Opened File"的功能不见了

    解决Idea的选择文件后定位瞄准器"Select Opened File"的功能

    使用IntelliJ IDEA时,可能会发现"SelectOpenedFile"功能不见了,这个功能允许用户快速定位到当前打开文件的位置,若要找回此功能,只需在IDEA的标题栏上右键,然后选择"Always Select Opened File",这样就可以重新启用这个便捷的功能
    2024-11-11
  • Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数示例代码

    Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数示例代码

    这篇文章主要介绍了Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo,本文给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 2020最新版idea激活教程(推荐)

    2020最新版idea激活教程(推荐)

    这篇文章主要介绍了2020最新版idea激活教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Java编程cas操作全面解析

    Java编程cas操作全面解析

    这篇文章通过实例,解析了Java编程中cas操作的概念、原理以及用法,具有一定参考价值,需要的朋友可以了解下。
    2017-09-09
  • java方法重写实例分析

    java方法重写实例分析

    这篇文章主要介绍了java方法重写,较为详细的讲述了Java方法重写的注意事项,并附带实例加以说明,需要的朋友可以参考下
    2014-09-09
  • springboot引用kettle实现对接oracle数据的示例代码

    springboot引用kettle实现对接oracle数据的示例代码

    这篇文章主要介绍了springboot引用kettle实现对接oracle数据,其实kettle集成到springboot里面没有多少代码,这个功能最主要的还是ktr文件的编写,只要ktr编写好了,放到指定文件夹下,写个定时任务就完事了,需要的朋友可以参考下
    2022-12-12
  • 详解Java单例模式的实现与原理剖析

    详解Java单例模式的实现与原理剖析

    单例模式是Java中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。本文将详解单例模式的实现及原理剖析,需要的可以参考一下
    2022-05-05

最新评论