一、ROUND_UPci
舍入遠離零的舍入模式。it
在丟棄非零部分以前始終增長數字(始終對非零捨棄部分前面的數字加1)。io
注意,此舍入模式始終不會減小計算值的大小。請求
二、ROUND_DOWNim
接近零的舍入模式。數字
在丟棄某部分以前始終不增長數字(從不對捨棄部分前面的數字加1,即截短)。錯誤
注意,此舍入模式始終不會增長計算值的大小。
三、ROUND_CEILING
接近正無窮大的舍入模式。
若是 BigDecimal 爲正,則舍入行爲與 ROUND_UP 相同;
若是爲負,則舍入行爲與 ROUND_DOWN 相同。
注意,此舍入模式始終不會減小計算值。
四、ROUND_FLOOR
接近負無窮大的舍入模式。
若是 BigDecimal 爲正,則舍入行爲與 ROUND_DOWN 相同;
若是爲負,則舍入行爲與 ROUND_UP 相同。
注意,此舍入模式始終不會增長計算值。
五、ROUND_HALF_UP
向「最接近的」數字舍入,若是與兩個相鄰數字的距離相等,則爲向上舍入的舍入模式。
若是捨棄部分 >= 0.5,則舍入行爲與 ROUND_UP 相同;不然舍入行爲與 ROUND_DOWN 相同。
注意,這是咱們大多數人在小學時就學過的舍入模式(四捨五入)。
六、ROUND_HALF_DOWN
向「最接近的」數字舍入,若是與兩個相鄰數字的距離相等,則爲上舍入的舍入模式。
若是捨棄部分 > 0.5,則舍入行爲與 ROUND_UP 相同;不然舍入行爲與 ROUND_DOWN 相同(五舍六入)。
七、ROUND_HALF_EVEN
向「最接近的」數字舍入,若是與兩個相鄰數字的距離相等,則向相鄰的偶數舍入。
若是捨棄部分左邊的數字爲奇數,則舍入行爲與 ROUND_HALF_UP 相同;
若是爲偶數,則舍入行爲與 ROUND_HALF_DOWN 相同。
注意,在重複進行一系列計算時,此舍入模式能夠將累加錯誤減到最小。
此舍入模式也稱爲「銀行家舍入法」,主要在美國使用。四捨六入,五分兩種狀況。
若是前一位爲奇數,則入位,不然捨去。
如下例子爲保留小數點1位,那麼這種舍入方式下的結果。
1.15>1.2 1.25>1.2
八、ROUND_UNNECESSARY
斷言請求的操做具備精確的結果,所以不須要舍入。
若是對得到精確結果的操做指定此舍入模式,則拋出ArithmeticException。