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 语句?

谢谢。

4

2 回答 2

6

看起来你想要的只是:

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

格式字符串%04d生成(至少)四个字符的输出字段,并根据需要在左侧填充0字符。

于 2012-07-26T09:15:09.730 回答
0

只需使用String.format("%04d", number);

于 2012-07-26T09:23:23.330 回答