double a=666666666.7777777; double b=333333333.8888888; //未经过处理 System.out.println(a*b); //大数方式存放 BigDecimal num=new BigDecimal(a*b); System.out.println(num); //大数方式计算 //使用大数方式计算 BigDecimal bd_a=new BigDecimal(a); BigDecimal bd_b=new BigDecimal(b); BigDecimal num2=bd_a.multiply(bd_b); System.out.println(num2); //大数精度控制 //刻度计算 int scale=num2.scale(); //精度计算 int prec=num2.precision(); //目标精度计算 int prec_r=prec-(scale-2); System.out.println(num2.round(new MathContext(prec_r)));
赞同
0
本文通过示例展示了在Java中如何使用BigDecimal类进行大数运算,并详细介绍了如何通过BigDecimal来控制运算的精度,避免浮点数运算时常见的精度丢失问题。
8313

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



