Java %d,%2d, %02d 的差异

Java 中由 int 型返回字符串时,经常用 String.format 方法,传入 %d,%2d, %02d 类似参数,记录下这些参数的含义。

String.format 传入 %XYd 的意思,拆解如下, %d :正常输出十进制数 。 %Yd:十进制数,输出 Y 位。如果本身大于 Y 位,正常输出。 %XYd:十进制数,输出 Y 位,不足 Y 位就补 X 。如果本身大于 Y 位,正常输出。

以 %d,%2d, %02d 为例, %d:十进制数正常输出 。 %2d:十进制数,输出 2 位。如果本身大于 2 位,正常输出。 %02d :十进制数,输出 2 位,不足 2 位就补 0 。如果本身大于 2 位,正常输出。

示例,

public class TestFormat {

    public static void main(String[] args) {
        long k = 5;

        System.out.println(String.format("%d",k));
        System.out.println(String.format("%2d",k));
        System.out.println(String.format("%02d",k));
        System.out.println(String.format("%03d",k));
    }
}

结果,

5
 5
05
005

如果 k 本身大于 2 位的话,就正常输出了。 示例,

public class TestFormat {
    public static void main(String[] args) {
        long k = 555;

        System.out.println(String.format("%d",k));
        System.out.println(String.format("%2d",k));
        System.out.println(String.format("%02d",k));
        System.out.println(String.format("%03d",k));
        System.out.println(String.format("%04d",k));
    }
}

结果,

555
555
555
555
0555
经验分享 程序员 微信小程序 职场和发展