double 精度问题处理

这篇博客探讨了Java中浮点数运算的精度问题,并通过示例展示了如何使用BigDecimal进行高精度计算。内容包括直接相加、BigDecimal对象的add方法以及DecimalFormat格式化输出。此外,还演示了将多个Double转换为BigDecimal并累加的过程。
摘要由CSDN通过智能技术生成
  Double d1=19922.08;
        Double d2=20020.99;

        System.out.println("直接输出:"+(d1+d2));
        //直接输出:39943.07000000001

        BigDecimal b1 = new BigDecimal(d1.toString());
        BigDecimal b2 = new BigDecimal(d2.toString());
        System.out.println("bgdl:"+b1.add(b2));
        // bgdl:39943.07

        DecimalFormat df = new DecimalFormat("0.00");
        System.out.println("format:"+df.format(d1+d2));
        // format:39943.07

        BigDecimal a=new BigDecimal(0.00);
        List<Double> list=new ArrayList();
        list.add(10.03);
        list.add(1.23);
        for (Double aDouble : list) {
            BigDecimal decimal = new BigDecimal(aDouble.toString());
            a=a.add(decimal);
        }
        System.out.println(a);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值