三种方法,按需采用。
1.BigDecimal(精度高,返回值为double)
double test = 10.0/3;
BigDecimal bg = new BigDecimal(test);
double res = bg.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
//精度较高,doubleValue()将BigDecimal转为Double
System.out.println(res);//3.33 经过四舍五入
2.DecimalFormat(转换最简便;返回值为String)
double test = 10.0/3;
DecimalFormat df = new DecimalFormat("0.000");
String s = df.format(test);
System.out.println(s);//3.333 经过四舍五入
//注:("0.000")代表format()括号中不管传入什么值,都会保留3位小数位数
3.String.format()(打印最方便;返回值为String)
double test = 10.0/3;
System.out.println(String.format("%.4f", 0.0));//3.3333 经过四舍五入
//注:不管传入什么值,都会保留4位小数位数