1

以下は、char(4) の出力を保証するため、5 は 0005 であり、43 は 0043 です。

if ( var > 1 && var <= 9 ) {
    o.setOutput (String.format ("%0001d", i.getInput());
else if (var > 9 && var <= 99 ) {
    o.setOutput (String.format ("%002d", i.getInput());
else if (var > 99 && var <= 999 ) {
    o.setOutput (String.format ("%03d", i.getInput());
else if (var > 999 & var <=9999 ) {
    o.setOutput (String.format ("%4d", i.getInput());
}

複数の if/case ステートメントではなく、1 行だけでこれを記述する方法はありますか?

ありがとう。

4

2 に答える 2

6

単純に欲しいようです:

o.setOutput (String.format ("%04d", i.getInput());

フォーマット文字列%04dは、(少なくとも) 4 文字の出力フィールドを生成し、必要に応じて左側に0文字が埋め込まれます。

于 2012-07-26T09:15:09.730 に答える
0

使用するだけString.format("%04d", number);

于 2012-07-26T09:23:23.330 に答える