繁体   English   中英

如何向 BigDecimal 添加额外的数字?

[英]How can i add extra digit to a BigDecimal?

在下面的代码中,用户将输入firstAmountsecondAmount 然后程序将运行并执行此计算firstAmount*secondAmount/123并且答案将在totalAmount变量中。 进一步的程序将采用totalAmount并进行一些额外的计算,但在此之前我想向totalAmount添加额外的数字。 例如,如果通过计算totalAmount得到类似23.021的金额,那没关系。 但它没有任何小数点我会添加到它,例如,如果totalAmount得到金额41现在没有小数点,所以我会添加.00表示之后 toalAmount 将是4.00 我怎么做? 如果还没有,我该如何添加额外的数字? 下面是我的代码,我希望这些事情发生。

switch (spinner.getSelectedItemPosition()){
    case 0:
    {
    
    totalAmount = firstAmount.multiply(secondAmount).divide(new BigDecimal("123"), MathContext.DECIMAL128);

   // before next calculation i want to add extra digits if there is no decimal point in the totalAmount

    nextCalculation = String.valueOf(totalAmount);
    
    break;
    }

您始终可以在BigDecimal上使用setScale(int newScale, RoundingMode roundingMode)添加小数位。 请记住BigDecimal是不可变的。

if (totalAmount.scale() == 0) {
  totalAmount = totalAmount.setScale(2, RoundingMode.UNNECESSARY);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM