问题

在java中转换为String时,如何用零填充int

我希望用前导零(例如1 =0001)填充类似于 '9999' 的整数。


#1 热门回答(1437 赞)

像这样使用java.lang.String.format(String,Object ...)

String.format("%05d", yournumber);

用于长度为5的零填充。对于十六进制输出,用%05x 中的 x 替换d

完整的格式化选项记录为java.util.Formatter的一部分。


#2 热门回答(97 赞)

如果您出于任何原因使用pre 1.5 Java,那么可以尝试使用Apache Commons Lang方法

org.apache.commons.lang.StringUtils.leftPad(String str, int size, '0')

#3 热门回答(62 赞)

假设您想将11打印为011

您可以使用格式化程序“%03d”

enter image description here

你可以像这样使用这个格式化器:

int a = 11;
String with3digits = String.format("%03d", a);
System.out.println(with3digits);

或者,一些java方法直接支持这些格式化程序:

System.out.printf("%03d", a);

原文链接