信息发布→ 登录 注册 退出

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

发布时间:2026-01-11

点击量:
目录
  • BigDecimal类的一般使用、BigDecimal转double
    • BigDecimal大据类
    • BigDecimal类
    • 创建一个BigDecimal对象
    • 方法声明
    • BigDecimal转double
  • 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不清楚为什么。

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

    在线客服
    服务热线

    服务热线

    4008888355

    微信咨询
    二维码
    返回顶部
    ×二维码

    截屏,微信识别二维码

    打开微信

    微信号已复制,请打开微信添加咨询详情!