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);
double 精度问题处理
最新推荐文章于 2024-03-21 13:32:07 发布
这篇博客探讨了Java中浮点数运算的精度问题,并通过示例展示了如何使用BigDecimal进行高精度计算。内容包括直接相加、BigDecimal对象的add方法以及DecimalFormat格式化输出。此外,还演示了将多个Double转换为BigDecimal并累加的过程。
摘要由CSDN通过智能技术生成