2012-11-02 81 views
2

我想在打印時格式化我的號碼。我使用在Java中打印的格式號碼

private static DecimalFormat formatter = new DecimalFormat("#00"); 

的事情是它打印

-01 
05 

我想它打印

-1 
05 

-01 
05 

是否有這樣做的一種方式這不使用if語句?

+3

它打印-01 05,但你想它打印-01 05? –

+0

您的輸入是什麼? – Keppil

+0

@JBNizet修正了對於OP –

回答

4

好吧,顯然你可以提供兩種格式,一種用於正數,一種用於負數。 See here

所以,你應該

DecimalFormat formatter = new DecimalFormat("#00;#0"); 
0

你問的DecimalFormat做更多比它使用。它只格式化號碼,如果要將該號碼進一步格式化爲字符串,則需要將其與「字符串」Formatterjavadoc here)結合使用。

Formatter formatter = new Formatter(System.out); 
DecimalFormat numFormatter = new DecimalFormat("#00"); 
formatter.format("%3s\n", numFormatter.format(-3)); 
formatter.format("%3s\n", numFormatter.format(11)); 
formatter.format("%3s\n", numFormatter.format(2)); 

輸出

-03 
11 
02 

請注意,字符串格式化對齊所有字符串到寬是三個字符。如果你輸入一個大於三個字符的值,那麼它會溢出3的寬度(這可能是你想要的)。