我想除以BigDecimals, 1 / 14819.79865821543,但結果0是0.00006748其中 coinRateInUSDWalletTo = 14819.79865821543 和金額 = 1BigDecimal numberOfCoinsToTransfer = amount.divide( new BigDecimal(coinRateInUSDWalletTo), RoundingMode.HALF_UP);
2 回答

紅顏莎娜
TA貢獻1842條經驗 獲得超13個贊
您必須scale為BigDecimal.
final BigDecimal coinRateInUSDWalletTo = new BigDecimal("14819.79865821543");
final BigDecimal result = BigDecimal.ONE.divide(
coinRateInUSDWalletTo,
10 /* Scale */,
RoundingMode.HALF_UP
);
還要注意BigDecimal.ONE. 無需創建另一個(大聲笑)。

大話西游666
TA貢獻1817條經驗 獲得超14個贊
你忘了給出秤。
以下是BigDecimal.divide()方法的聲明。
public BigDecimal 除數(BigDecimal 除數,整數刻度,RoundingMode roundingMode)
如果您指定 8 級,那么您將得到您想要的答案:0.00006748
BigDecimal numberOfCoinsToTransfer = amount.divide(new BigDecimal
(coinRateInUSDWalletTo),8, RoundingMode.HALF_UP);
添加回答
舉報
0/150
提交
取消