[英]How can i add extra digit to a BigDecimal?
在下面的代码中,用户将输入firstAmount
和secondAmount
。 然后程序将运行并执行此计算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.