2

番号を印刷するときに書式を設定したい。私は使用しています

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

問題はそれが印刷されることです

-01  
05

印刷してほしい

-1  
05

また

-01  
 05

if文を使わずにこれを行う方法はありますか?

4

2 に答える 2

4

どうやら、正の数値用と負の数値用の2 つの形式を提供できるようです。こちらをご覧ください

だからあなたは使うべきです

DecimalFormat formatter = new DecimalFormat("#00;#0");
于 2012-11-02T22:17:10.537 に答える
0

あなたはDecimalFormatにそれ以上のことをするように求めています。数値をフォーマットするだけです。その数値をさらに文字列Formatterとしてフォーマットする場合は、「文字列」 (ここではjavadoc )と組み合わせる必要があります。

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文字幅に揃えることに注意してください。3文字より大きい値を入力すると、[幅]の3がオーバーフローします(これはおそらく必要な値です)。

于 2012-11-02T23:18:01.773 に答える