Java BigDecimal 的舍入模式,RoundingMode详解

BigDecimal.divide方法中必须设置roundingMode,不然会报错。

  • ROUND_UP:向正无穷方向对齐(转换为正无穷方向最接近的所需数值)
  • ROUND_DOWN:向负无穷方向对齐
  • ROUND_CEILING:向原点的反方向对齐
  • ROUND_FLOOR:向原点方向对齐
  • ROUND_HALF_UP:“四舍五入”,如果舍弃部分的最高位大于等于 5,向正无穷方向对齐,否则向负无穷方向对齐
  • ROUND_HALF_DOWN:“五舍六入”,如果舍弃部分的最高位大于 5,向正无穷方向对齐,否则向负无穷方向对齐
  • ROUND_HALF_EVEN:“四舍六入五成双”,如果舍弃部分的最高位大于等于六,或等于五并且前一位是奇数,向正无穷方向对齐,否则向负无穷方向对齐
  • ROUND_UNNECESSARY:如果需要舍入,就抛出算术异常