Java BigDecimal类的一般使用、BigDecimal转double方式

 更新时间:2022年01月23日 10:31:33   作者:_七七  
这篇文章主要介绍了Java BigDecimal类的一般使用、BigDecimal转double方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

BigDecimal类的一般使用、BigDecimal转double

BigDecimal大据类

浮点型运算的时候直接 加减乘除时可能会出现数据失真(精度问题)。

BigDecimal可以解决浮点型运算数据失真的问题。

        double a = 0.1;
        double b = 0.2;
        double c = a+b;
        System.out.println(c);//0.30000000000000004

BigDecimal类

包: java.math.

创建一个BigDecimal对象

public static BigDecimal valueOf(double val)

方法声明

  • public BigDecimal add (BigDecinal value) 加法运算
  • public BigDecimal subtract (BigDecimal value)减法运算
  • public BigDecimal multiply(BigDecimal value)乘法运算
  • public BigDecimal divide (BigDecimal value)除法运算
        BigDecimal biga = BigDecimal.valueOf(a);
        BigDecimal bigb = BigDecimal.valueOf(b);
        BigDecimal bigc = biga.add(bigb);
        System.out.println(bigc);//0.3

BigDecimal转double

public double doubleValue()

然而BigDecimal只是解决精度问题的手段,获取double数据才是我们的目的

double rs = bigc.doubleValue();

BigDecimal , double 转换方式

BigDecimal offsetAmount = (BigDecimal) cj.get(i).get("xxxx");
double offsetAmount = offsetAmount.doubleValue();

BigDecimal直接返回给前台还不行,得转成double不清楚为什么。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java中ThreadPoolExecutor拒绝策略踩坑

    Java中ThreadPoolExecutor拒绝策略踩坑

    本文主要介绍了Java中ThreadPoolExecutor拒绝策略踩坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • idea中service或者mapper引入报红的问题及解决

    idea中service或者mapper引入报红的问题及解决

    在使用IntelliJ IDEA开发SpringBoot项目时,有时会遇到Service或Mapper接口引入时报红但不影响项目运行的情况,这主要是因为IDEA的检查级别设置问题,解决方法是将有问题的Error级别改为编译通过的安全级别,即可消除报红
    2024-09-09
  • java 和 json 对象间转换

    java 和 json 对象间转换

    这篇文章主要介绍了java 和 json 对象间转换,需要的朋友可以参考下
    2014-03-03
  • 浅析java消息摘要与数字签名

    浅析java消息摘要与数字签名

    这篇文章给大家分析了关于java消息摘要与数字签名的相关知识点内容,有兴趣的朋友们可以学习下。
    2018-08-08
  • Java中常见的语法糖分享

    Java中常见的语法糖分享

    Java语法糖是指Java编译器在编译Java源代码时所做的一些特殊处理,使得Java源代码在编译后生成的字节码更加简洁、易读、易维护,Java 中有许多常见的语法糖,本文给大家列举了一些常见的例子,需要的朋友可以参考下
    2023-10-10
  • 使用jvm sandbox对三层嵌套类型的改造示例

    使用jvm sandbox对三层嵌套类型的改造示例

    这篇文章主要为大家介绍了使用jvm sandbox对三层嵌套类型的改造示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 浅谈Map集合中get不存在的key值,会抛出异常吗?

    浅谈Map集合中get不存在的key值,会抛出异常吗?

    这篇文章主要介绍了浅谈Map集合中get不存在的key值,会抛出异常吗?具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • IntelliJ IDEA 如何彻底删除项目的步骤

    IntelliJ IDEA 如何彻底删除项目的步骤

    本篇文章主要介绍了IntelliJ IDEA 如何彻底删除项目的步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 借助Maven搭建Hadoop开发环境的最详细教程分享

    借助Maven搭建Hadoop开发环境的最详细教程分享

    在Maven插件的帮助下,VSCode写Java其实非常方便,所以本文就来和大家详细讲讲如何借助maven用VScode搭建Hadoop开发环境,需要的可以参考下
    2023-05-05
  • Feign如何自定义注解翻译器

    Feign如何自定义注解翻译器

    这篇文章主要介绍了Feign如何自定义注解翻译器,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03

最新评论