简体   繁体   中英

How to format numbers to same number of digits, 0-padded?

I have several strings of different 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:

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM