如何将数字格式化为相同的位数,0-padded?

时间:2011-03-23 09:09:58

标签: java format

我有几个不同长度的字符串

"2323"
"245"
"353352"

我需要将它们转换为相同大小的字符串,例如:

"0002323"
"0000245"
"0353352"

如何在每个字符串前自动添加正确数量的0?

感谢

3 个答案:

答案 0 :(得分:14)

使用String.format

Integer i = Integer.valueOf(src);
String format = "%1$07d";
String result = String.format(format, i);

答案 1 :(得分:4)

使用DecimalFormatString.formatprintf,您可以格式化数字。

使用DecimalFormat的示例:

NumberFormat formatter = new DecimalFormat("0000000");
String number = formatter.format(2500);

希望它有所帮助。

问候!

答案 2 :(得分:4)

或使用 Apache Commons / Lang

String s = "245";
String zeroPadded = StringUtils.leftPad(s, 6, '0');

<强>参考: