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