BigDecimal 相關

1、BigDecimal 精度設置算法

  BigDecimal setScale(int newScale, int roundingMode);ide

  newScale:小數位數,函數

  RoundingMode是一個枚舉類,有如下幾個常量:  spa

一、ROUND_UP遠離零方向舍入的舍入模式。始終對非零捨棄部分前面的數字加 1。注意,此舍入模式始終不會減小計算值的絕對值。
二、ROUND_DOWN向零方向舍入的舍入模式。從不對捨棄部分前面的數字加 1(即截尾)。注意,此舍入模式始終不會增長計算值的絕對值。
三、ROUND_CEILING向正無限大方向舍入的舍入模式。若是結果爲正,則舍入行爲相似於 RoundingMode.UP;若是結果爲負,則舍入行爲相似於 RoundingMode.DOWN。注意,此舍入模式始終不會減小計算值。
四、ROUND_FLOOR:向負無限大方向舍入的舍入模式。若是結果爲正,則舍入行爲相似於 RoundingMode.DOWN;若是結果爲負,則舍入行爲相似於RoundingMode.UP。注意,此舍入模式始終不會增長計算值。
五、ROUND_HALF_UP向最接近數字方向舍入的舍入模式,若是與兩個相鄰數字的距離相等,則向上舍入。若是被捨棄部分 >= 0.5,則舍入行爲同 RoundingMode.UP;不然舍入行爲同RoundingMode.DOWN。注意,此舍入模式就是一般學校裏講的四捨五入。
六、ROUND_HALF_DOWN向最接近數字方向舍入的舍入模式,若是與兩個相鄰數字的距離相等,則向下舍入。若是被捨棄部分 > 0.5,則舍入行爲同 RoundingMode.UP;不然舍入行爲同RoundingMode.DOWN
七、ROUND_HALF_EVEN向最接近數字方向舍入的舍入模式,若是與兩個相鄰數字的距離相等,則向相鄰的偶數舍入。若是捨棄部分左邊的數字爲奇數,則舍入行爲同RoundingMode.HALF_UP;若是爲偶數,則舍入行爲同RoundingMode.HALF_DOWN。注意,在重複進行一系列計算時,此舍入模式能夠在統計上將累加錯誤減到最小。此舍入模式也稱爲「銀行家舍入法」,主要在美國使用。此舍入模式相似於 Java 中對float 和double 算法使用的舍入策略。
八、ROUND_UNNECESSARY用於斷言請求的操做具備精確結果的舍入模式,所以不須要舍入。若是對生成精確結果的操做指定此舍入模式,則拋出 ArithmeticExceptionip

 

2、BigDecimal 計算ci

一、加法 add()函數
二、減法subtract()函數
三、乘法multiply()函數
四、除法divide()函數
五、絕對值abs()函數it

3、BigDecimal 比較大小io

int a = bigdemical.compareTo(bigdemical2);
a = -1,表示bigdemical小於bigdemical2;
a = 0,表示bigdemical等於bigdemical2;
a = 1,表示bigdemical大於bigdemical2;請求

相關文章
相關標籤/搜索