方式一:
double f = 3.1516;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(, BigDecimal.ROUND_HALF_UP).doubleValue();
输出结果f1为 3.15; 源码解读:
public BigDecimal setScale(int newScale, int roundingMode) //int newScale 为小数点后保留的位数, int roundingMode 为变量进行取舍的方式;
BigDecimal.ROUND_HALF_UP 属性含义为为四舍五入
方式二:
String format = new DecimalFormat("#.0000").format(3.1415926); System.out.println(format);
输出结果为 3.1416
解读:
#.00 表示两位小数 #.0000四位小数 以此类推…
方式三:
double num = 3.1415926;
String result = String.format("%.4f", num);
System.out.println(result);
输出结果为:3.1416
解读:
%.2f 中 %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。
方式四:
double num = Math.round(5.2544555 * 100) * 0.01d;
System.out.println(num);
输出结果为:5.25
解读:
最后乘积的0.01d表示小数点后保留的位数(四舍五入),0.0001 为小数点后保留4位,以此类推......
完毕!!!