方式一:使用BigDecimal
double f = 111231.5585; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, RoundingMode.HALF_UP).doubleValue(); System.out.println("f1:" + f1);//111231.56
在这里使用 BigDecimal ,并且采用 setScale 方法来设置精确度,同时使用 RoundingMode.HALF_UP 表示使用最近数字舍入法则来近似计算。
方式二:使用DecimalFormat
java.text.DecimalFormat df = new java.text.DecimalFormat("#.00"); String f2 = df.format(f); System.out.println("f2:" + f2);//111231.56
#.00 表示两位小数 #.0000四位小数 以此类推…
方式三:使用String.format
String f3 = String.format("%.2f", f); System.out.println("f3:" + f3);//111231.56
%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。