首先說一下用法,BigDecimal中的divide主要就是用來做除法的運算。其中有這麼一個方法.
public BigDecimal divide(BigDecimal divisor,int scale, int roundingMode)
第一個參數是除數,第二個參數代表保留幾位小數,第三個代表的是使用的模式。
BigDecimal.ROUND_DOWN:直接省略多餘的小數,比如1.28如果保留1位小數,得到的就是1.2
BigDecimal.ROUND_UP:直接進位,比如1.21如果保留1位小數,得到的就是1.3
BigDecimal.ROUND_HALF_UP:四捨五入,2.35保留1位,變成2.4
BigDecimal.ROUND_HALF_DOWN:四捨五入,2.35保留1位,變成2.3
後邊兩種的區別就是如果保留的位數的後一位如果正好是5的時候,一個捨棄掉,一個進位。