协慌网

登录 贡献 社区

如何在左侧填充带零的整数?

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

我基本上希望用前导零(例如 1 = 0001 )填充高达9999整数。

答案

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

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

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

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

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

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

假设您要将11打印为011

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

在此输入图像描述

您可以像这样使用此格式化程序:

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

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

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