我想用2個小數點將雙精度值打印到屏幕上。到目前爲止,這條生產線完美工作:Java雙格式即使在零時也顯示2個小數點
System.out.println(new DecimalFormat("$#,###.##").format(value));
對於像輸入:
double value = 82348238482834.23482348;
它打印出:
$82,348,238,482,834.23
這正是我想要的。但是,如果我輸入0
,我希望它打印出$0.00
。通過上面的格式行,它打印出$0
。我試着改變上面的代碼到:
double value = 0;
System.out.println(new DecimalFormat("$#,###.00").format(value));
但是,打印出$.00
。我可以這樣做:
if(value == 0) {
System.out.println("$0.00");
}
它的工作原理,但它非常醜陋。有沒有其他方法可以解決這個問題?
是的,'0' *總是*打印,''只*有條件*打印...所以你認爲你想在點之前想要什麼? –