所以我有這樣的代碼:式輸出爲十進制,沒有科學記數法
public BigDecimal calculateEWT (BigDecimal amount, boolean vatInclusive, int scale)
{
if (isZeroTax())
return Env.ZERO;
BigDecimal rateTax = getRate().divide(ONEHUNDRED, 12, BigDecimal.ROUND_HALF_UP);
BigDecimal rateEWT = getcus_tax_EWTRate().divide(ONEHUNDRED, 12, BigDecimal.ROUND_HALF_UP);
rateTax = rateTax.add(Env.ONE);
BigDecimal ewt = null;
if (!vatInclusive) {
BigDecimal base = amount.divide(rateTax, 12, BigDecimal.ROUND_HALF_UP);
ewt = base.multiply(rateEWT);
System.out.println("EWT VAT not inclusive: " + ewt);
} else {
BigDecimal base = amount.multiply (rateTax);
ewt = base.multiply(rateEWT);
System.out.println("EWT VAT inclusive: " + ewt);
}
BigDecimal finalEWT = ewt.setScale(scale, BigDecimal.ROUND_HALF_UP);
System.out.println("Final EWT: " + finalEWT);
return finalEWT;
}
而且 的System.out.println( 「EWT增值稅不包括:」 + EWT); 打印出 「EWT VAT不包括:0E-12,」 搞亂其他方程,因爲finalEWT返回0.00
作爲示例值, 假定量= 1000,rateTax是1.12,rateEWT是0.05
是否有一個方式打印出來的正常小數形式?我需要它仍然處於BigDecimal格式,因爲我將把答案插入數據庫。
您似乎將問題中的實際表示與輸出格式混合在一起。你有哪個問題? – Keppil