问题
在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”
。
你可以像这样使用这个格式化器:
int a = 11;
String with3digits = String.format("%03d", a);
System.out.println(with3digits);
或者,一些java方法直接支持这些格式化程序:
System.out.printf("%03d", a);