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            遠離零方向舍入的舍入模式。
相關文章
相關標籤/搜索