JavaでBigDecimalを整数でどのように乗算しますか?これを試しましたが、正しくありません。
import Java.math.BigDecimal;
import Java.math.MathContext;
public class Payment {
int itemCost;
int totalCost = 0;
public BigDecimal calculateCost(int itemQuantity,BigDecimal itemPrice){
itemCost = itemPrice.multiply(itemQuantity);
totalCost = totalCost + itemCost;
return totalCost;
}
int
が必要な場所にBigDecimal
値を配置しようとするなど、コードに多くのtype-mismatchesがあります。コードの修正バージョン:
public class Payment
{
BigDecimal itemCost = BigDecimal.ZERO;
BigDecimal totalCost = BigDecimal.ZERO;
public BigDecimal calculateCost(int itemQuantity, BigDecimal itemPrice)
{
itemCost = itemPrice.multiply(new BigDecimal(itemQuantity));
totalCost = totalCost.add(itemCost);
return totalCost;
}
}
まず、BigDecimal.multiply()
はBigDecimal
を返しますが、それをint
に保存しようとしています。
第二に、それはtakes別のBigDecimal
であり、int
ではありません。
これらの計算に関係するすべての変数にBigDecimal
を使用するだけであれば、うまく機能するはずです。