bigdecimal总结

每种舍入模式的描述包括一个表,列出如何在相关的舍入模式下将不一样的两位十进制数舍入为一位十进制数。表中的结果栏能够经过如下方式得到:使用指定的值建立一个 BigDecimal 数字,造成一个具备适当设置(precision 设置为 1,roundingMode 设置为相关的舍入模式)的 MathContext 对象,并使用适当的 MathContext 对此数字调用 round。下面是一个汇总表,该表显示了在全部舍入模式下这些舍入操做的结果。html

 

不一样舍入模式下的舍入操做汇总(根据给定的舍入模式将输入数字舍入为一位数的结果)java

输入数字 UP DOWN CEILING FLOOR HALF_UP HALF_DOWN HALF_EVEN UNNECESSARY
5.5 6 5 6 5 6 5 6 抛ArithmeticException
2.5 3 2 3 2 3 2 2 抛ArithmeticException
1.6 2 1 2 1 2 2 2 抛ArithmeticException
1.1 2 1 2 1 1 1 1 抛ArithmeticException
1.0 1 1 1 1 1 1 1 1
-1.0 -1 -1 -1 -1 -1 -1 -1 -1
-1.1 -2 -1 -1 -2 -1 -1 -1 抛ArithmeticException
-1.6 -2 -1 -1 -2 -2 -2 -2 抛ArithmeticException
-2.5 -3 -2 -2 -3 -3 -2 -2 抛ArithmeticException
-5.5 -6 -5 -5 -6 -6 -5 -6 抛ArithmeticException

 

此 enum 拟用于取代 BigDecimalBigDecimal.ROUND_UPBigDecimal.ROUND_DOWN 等)中舍入模式常量的基于整数的枚举。api

枚举常量摘要:

CEILING 
          向正无限大方向舍入的舍入模式。
DOWN 
          向零方向舍入的舍入模式。
FLOOR 
          向负无限大方向舍入的舍入模式。
HALF_DOWN 
          向最接近数字方向舍入的舍入模式,若是与两个相邻数字的距离相等,则向下舍入。
HALF_EVEN 
          向最接近数字方向舍入的舍入模式,若是与两个相邻数字的距离相等,则向相邻的偶数舍入。
HALF_UP 
          向最接近数字方向舍入的舍入模式,若是与两个相邻数字的距离相等,则向上舍入。
UNNECESSARY 
          用于断言请求的操做具备精确结果的舍入模式,所以不须要舍入。
UP            远离零方向舍入的舍入模式。
相关文章
相关标签/搜索