我想在打印時格式化我的號碼。我使用在Java中打印的格式號碼
private static DecimalFormat formatter = new DecimalFormat("#00");
的事情是它打印
-01
05
我想它打印
-1
05
或
-01
05
是否有這樣做的一種方式這不使用if語句?
我想在打印時格式化我的號碼。我使用在Java中打印的格式號碼
private static DecimalFormat formatter = new DecimalFormat("#00");
的事情是它打印
-01
05
我想它打印
-1
05
或
-01
05
是否有這樣做的一種方式這不使用if語句?
好吧,顯然你可以提供兩種格式,一種用於正數,一種用於負數。 See here
所以,你應該
DecimalFormat formatter = new DecimalFormat("#00;#0");
你問的DecimalFormat做更多比它使用。它只格式化號碼,如果要將該號碼進一步格式化爲字符串,則需要將其與「字符串」Formatter
(javadoc 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的寬度(這可能是你想要的)。
它打印-01 05,但你想它打印-01 05? –
您的輸入是什麼? – Keppil
@JBNizet修正了對於OP –