class MathUtils {

  public static double round(double sourceNum, int scale) {
    BigDecimal sourceBD = new BigDecimal(Double.toString(sourceNum));
    BigDecimal one = new BigDecimal("1");

    // ROUND_HALF_UP
    // 向“最接近的”数字舍入，如果与两个相邻数字的距离相等，则舍入远离零的方向（数轴上方向上）。
    // 注意，这是我们大多数人在小学时就学过的舍入模式，即四舍五入。

    return sourceBD.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
  }

}