2014-11-03 95 views
3

我正在使用下面的代碼來使數字顯示帶有兩個小數位和數千個逗號分隔符。如何使用小數格式將0顯示爲0.00?

public static String formatNumber(double amount){ 
    DecimalFormat formatter = new DecimalFormat("#,###.00"); 
    return formatter.format(amount); 
} 

對於其他數字沒有問題,但0返回爲「.00」我希望它是「0.00」我應該改變什麼?

+0

''#,## 0.00「'? – 2014-11-03 02:08:28

+2

@HovercraftFullOfEels我以爲你在那裏發誓;) – MadProgrammer 2014-11-03 02:10:09

+0

此外,我認爲可以通過'setGroupingUsed(true)'設置自動分隔符。這樣你就會自動將分隔符顯示爲數千,數百萬,十億,... – 2014-11-03 02:10:26

回答

4

爲什麼不

return String.format("%.2f", amount); 

這會正確格式化它不是嗎? (如果量爲123123.14233然後它將返回123123.14)

return String.format("%,.2f", amount); 

爲數量之內的逗號。 (如果金額是123123.14233那麼它將返回123,123.14)

6

#意味着可選的數字,所以如果你使用0而是將工作:

DecimalFormat formatter = new DecimalFormat("#,##0.00"); 

BTW:我認爲你需要3 ###不是4

+0

是的錯字錯誤應該是3 – 2014-11-03 02:28:06

相關問題