BigDecimal 除法 returns 0 或 ArithmeticException?

BigDecimal divide method either returns 0 or ArithmeticException?

当我尝试使用以下方法划分 BigDecimals 时:

divide(divisor, RoundingMode.HALF_UP)

它returns 0

但是如果我不使用像这样的舍入模式:

divide(divisor)

我得到一个 ArithmeticException

我不在乎这个数字是否不是精确的十进制表示。如何在不得到 0 或异常的情况下划分 BigDecimals?

使用比例 divide BigDecimal

  BigDecimal result = amount.divide(fromRate, 6, RoundingMode.HALF_UP);