3 回答

TA貢獻1799條經驗 獲得超9個贊
我想你需要把后面的0留下的話,應該不是為了計算,而是為了顯示。所以我認為,你沒必要用BigDecimal。你應該用NumberFormat,得到的結果是一個字符串,這樣才能保留后面的0.
final NumberFormat format = NumberFormat.getNumberInstance();
format.setRoundingMode(RoundingMode.HALF_UP);
format.setMaximumFractionDigits(2);
format.setMinimumFractionDigits(2);
System.out.println(format.format(tax));

TA貢獻1829條經驗 獲得超4個贊
用下DecimalFormat類
DecimalFormat df = new DecimalFormat("0.00");
df.format(Object);
或看下此類的一些用法,解決你的這個需求很方便的!

TA貢獻1877條經驗 獲得超6個贊
BigDecimal bd = new BigDecimal(tax);// tax為double類型
BigDecimal formatted = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(formatted);
就能得到你想要的結果
你要的是doubleValue(); 就會把后面的0給截取了
- 3 回答
- 0 關注
- 135 瀏覽
添加回答
舉報