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