Java四舍五入时保留指定小数位数

方式一:

1 double f = 3.1516;
2 BigDecimal b = new BigDecimal(f);
3 double f1 = b.setScale(2, 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四位小数 以此类推…

方式三:

1 double num = 3.1415926;
2 String result = String.format("%.4f", num);
3 System.out.println(result);
输出结果为:3.1416
解读:
  %.2f 中 %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。

方式四:

1 double num = Math.round(5.2544555 * 100) * 0.01d;
2 System.out.println(num);
输出结果为:5.25
解读:
  最后乘积的0.01d表示小数点后保留的位数(四舍五入),0.0001 为小数点后保留4位,以此类推......

完毕!!!

原文地址:https://www.cnblogs.com/routine/p/10392463.html