2011-03-23 11 views
7

tengo varias cadenas de diferente longitud¿Cómo formatear números con la misma cantidad de dígitos, 0 rellenos?

"2323" 
"245" 
"353352" 

que necesito para convertirlos en cadena del mismo tamaño, tales como:

"0002323" 
"0000245" 
"0353352" 

¿Cómo puedo añadir automáticamente el número correcto de 0s frente cada cuerda?

gracias

+0

Lo que debería suceder si la cadena de entrada es más largo que el formato de salida esperada? –

+0

también puede contar el número de caracteres/dígitos en una cadena y luego solo agregar el número deseado de valores al frente que podría ser 0 o espacio o cualquier otro carácter. – AquaAlex

Respuesta

14

Uso: String.format

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

uhm ok. Sin embargo, src en mi caso ya es una cadena y no un número entero. ¿Debo convertir string> int> string? – aneuryzm

+0

@Patrick Sí, ¿por qué no? –

4

Uso DecimalFormat, String.format o printf puede dar formato a un número.

Ejemplo usando DecimalFormat:

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

espero que ayude.

¡Recuerdos!

Cuestiones relacionadas