java.math.RoundingMode里面有几个参数搞得我有点晕,现以个人理解对其一一进行总结:
为了能更好理解,我们可以画一个XY轴
RoundingMode.CEILING:取右边最近的整数
RoundingMode.DOWN:去掉小数部分取整,也就是正数取左边,负数取右边,相当于向原点靠近的方向取整
RoundingMode.FLOOR:取左边最近的正数
RoundingMode.HALF_DOWN:五舍六入,负数先取绝对值再五舍六入再负数
RoundingMode.HALF_UP:四舍五入,负数原理同上
RoundingMode.HALF_EVEN:这个比较绕,整数位若是奇数则四舍五入,若是偶数则五舍六入
https://www.cnblogs.com/popqq520/p/RoundingMode.html
BIGDECIMAL比较2个值是否相等,不能用EQUALS,而要用COMPARETO
BigDecimal比较相等,不能用equals,要用compareTo