How to format numbers to same number of digits, 0-padded?
I have several strings of different 开发者_C百科length
"2323"
"245"
"353352"
I need to convert them to string of the same size such as:
"0002323"
"0000245"
"0353352"
How can I automatically add the correct number of 0s in front of each string ?
thanks
Use String.format
:
Integer i = Integer.valueOf(src);
String format = "%1$07d";
String result = String.format(format, i);
Using DecimalFormat
, String.format
, or printf
you can format a Number.
Example using DecimalFormat:
NumberFormat formatter = new DecimalFormat("0000000");
String number = formatter.format(2500);
Hope it helps.
Regards!
Or use Apache Commons / Lang:
String s = "245";
String zeroPadded = StringUtils.leftPad(s, 6, '0');
Reference:
StringUtils.leftPad(String, length, padChar)
精彩评论