Java中使用BigDecimal進(jìn)行除法取整有以下幾種方法:
BigDecimal result = dividend.divide(divisor, scale, RoundingMode.HALF_UP).stripTrailingZeros();
其中,dividend為被除數(shù),divisor為除數(shù),scale為保留的小數(shù)位數(shù),RoundingMode.HALF_UP表示四舍五入。
BigDecimal result = dividend.divide(divisor, scale, RoundingMode.HALF_UP).setScale(scale, RoundingMode.CEILING);
其中,dividend為被除數(shù),divisor為除數(shù),scale為保留的小數(shù)位數(shù),RoundingMode.HALF_UP表示四舍五入,RoundingMode.CEILING表示向上取整。
int result = dividend.divideToIntegralValue(divisor).intValue();
其中,dividend為被除數(shù),divisor為除數(shù),intValue方法將結(jié)果轉(zhuǎn)換為整數(shù)。
注意:使用BigDecimal進(jìn)行除法運(yùn)算時(shí),需要注意除數(shù)不能為0,否則會(huì)拋出ArithmeticException異常。