double a = 123456789396244.77;
double b = 3691357802469.07;
BigDecimal a1=new BigDecimal(123456789396244.77);
BigDecimal b1=new BigDecimal(3691357802469.07);
BigDecimal c=a1.add(b1);
System.out.println("BigDecimal:"+c);//BigDecimal:127148147198713.83544921875
BigDecimal a1=new BigDecimal("123456789396244.77");
BigDecimal b1=new BigDecimal("3691357802469.07");
BigDecimal c=a1.add(b1);
System.out.println("BigDecimal:"+c);//BigDecimal:127148147198713.84
/**
*
*/
public static String SicenToComm(double value) {
String retValue = null;
DecimalFormat df = new DecimalFormat("0.0000");
retValue = df.format(value);
return retValue ;
}
double b = 3691357802469.07;
BigDecimal a1=new BigDecimal(123456789396244.77);
BigDecimal b1=new BigDecimal(3691357802469.07);
BigDecimal c=a1.add(b1);
System.out.println("BigDecimal:"+c);//BigDecimal:127148147198713.83544921875
BigDecimal a1=new BigDecimal("123456789396244.77");
BigDecimal b1=new BigDecimal("3691357802469.07");
BigDecimal c=a1.add(b1);
System.out.println("BigDecimal:"+c);//BigDecimal:127148147198713.84
/**
*
*/
public static String SicenToComm(double value) {
String retValue = null;
DecimalFormat df = new DecimalFormat("0.0000");
retValue = df.format(value);
return retValue ;
}
本文演示了如何使用Java中的BigDecimal类进行精确的浮点数加法运算,并对比了double类型的数据精度问题。通过构造BigDecimal实例并调用add方法实现了高精度计算。

被折叠的 条评论
为什么被折叠?



