Agregar cero relleno a una cadena

159

¿Cómo agrego el relleno "0" a una cadena para que la longitud de mi cadena sea siempre 4?

Ejemplo

If input "1", 3 padding is added = 0001
If input "25", 2 padding is added = 0025
If input "301", 1 padding is added = 0301
If input "4501", 0 padding is added = 4501
001
fuente

Respuestas:

295

Puedes usar PadLeft

var newString = Your_String.PadLeft(4, '0');
kemiller2002
fuente
20
Tenga en cuenta que todavía"12345".PadLeft(4,'0') es "12345", no lo truncará. Por cierto, esto no le resta valor a esta respuesta, ya que cumple con todas las especificaciones (hay algo extrañamente satisfactorio en tener una respuesta que votó elegido como la aceptada (aunque no tan satisfactoria como tener una de las suyas, por supuesto), ordenar de que su hijo ingrese a la mejor escuela), solo pensé en mencionarlo en caso de que en algún momento en el futuro haya levantado su fea cabeza. Caramba, espero que esos paréntesis estén equilibrados :-)
paxdiablo
20
@paxdiablo: Fueron hasta el smiley.
Paul Ruane
1
"1.2".PadRight(4,'0')también funciona para cero rellenando un número de cadena como "1.20". Puedo hacer esto para truncar y llenar un número de cadena simple <10000. num = num.length > 4 ? num.Substring(0,4) : num.PadRight(4,'0');
Dan Randolph
59
myInt.ToString("D4");
Rex M
fuente
11
La pregunta es cómo agregar relleno "a una cadena".
Matthew Flaschen
10
string.Format("{0:D4}", myInt)
Tonatio
31
string strvalue="11".PadRight(4, '0');

salida = 1100

string strvalue="301".PadRight(4, '0');

salida = 3010

string strvalue="11".PadLeft(4, '0');

salida = 0011

string strvalue="301".PadLeft(4, '0');

salida = 0301

Shiraj Momin
fuente
9
"1".PadLeft(4, '0');
Matthew Flaschen
fuente
1
int num = 1;
num.ToString("0000");
Noor E Alam Robin
fuente