RoundingMode.DOWN 与 RoundingMode.HALF_DOWN 有何不同?

inq*_*777 -3 java rounding

RoundingMode.DOWN 与 RoundingMode.HALF_DOWN 有何不同?在什么情况下他们的行为是不同的?

RoundingMode.UP 与 RoundingMode.HALF_UP 的相同问题。

ass*_*ias 5

这在javadoc中进行了解释,但总而言之,如果您四舍五入为 0 十进制:

  • DOWN 总是向 0 舍入,例如 5.9 -> 5

  • UP 总是从 0 舍入:5.1 -> 6

  • HALF_DOWN舍入到最近的,如果中途,舍入如下DOWN:5.2 -> 5, 5.8 -> 6, 5.5 -> 5

  • HALF_UP舍入到最近的,如果中途,舍入如下UP:5.2 -> 5, 5.8 -> 6, 5.5 -> 6

  • HALF_EVEN 舍入到最接近的,如果中途舍入到偶数:5.2 -> 5, 5.8 -> 6, 5.5 -> 6, 4.5 -> 4