¿Cómo puedo formatear un número en una cadena con ceros a la izquierda?
Tengo un número que necesito convertir en una cadena. Primero usé esto:
Key = i.ToString();
Pero me doy cuenta de que se está ordenando en un orden extraño y así que necesito rellenarlo con ceros. ¿Cómo podría hacer esto?
9 answers
Bastante simple:
Key = i.ToString("D2");
D
significa "número decimal", 2
para el número de dígitos a imprimir.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-27 09:52:33
Ver Formato de cadena en C# para algunos usos de ejemplo de cadena.Formato
En realidad un mejor ejemplo de formateo int
String.Format("{0:00000}", 15); // "00015"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-19 21:04:44
Si desea mantenerlo ancho fijo, por ejemplo 10 dígitos, hágalo así
Key = i.ToString("0000000000");
Reemplace con tantos dígitos como desee.
i = 123
entonces resultará en Key = "0000000123"
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-28 11:01:18
Dado que nadie ha mencionado esto todavía, si está utilizando C# versión 6 o superior (es decir, Visual Studio 2015), puede usar interpolación de cadenas para simplificar su código. Así que en lugar de usar string.Format(...)
, puedes hacer esto:
Key = $"{i:D2}";
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-10 22:25:56
Uso:
i.ToString("D10")
Véase Int32.toString (MSDN), y Cadenas de Formato Numérico Estándar (MSDN).
O utilizar String.PadLeft
. Por ejemplo,
int i = 321;
Key = i.ToString().PadLeft(10, '0');
Resultaría en 0000000321
. Aunque String.PadLeft
no funcionaría para números negativos.
Ver Cadena.PadLeft (MSDN).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-08 13:46:51
Normalmente String.Format ("format", object) es preferible a object.ToString("formato"). Por lo tanto,
String.Format("{0:00000}", 15);
Es preferible a,
Key = i.ToString("000000");
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-16 06:14:43
Intenta:
Key = i.ToString("000000");
Personalmente, sin embargo, me gustaría ver si no se puede ordenar en el entero directamente, en lugar de la representación de cadena.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-24 11:25:36
Aquí quiero que mi no limite en 4 dígitos como si es 1 debería mostrar como 0001,si es 11 debería mostrar como 0011..A continuación se muestra el código.
reciptno=1;//Pass only integer.
string formatted = string.Format("{0:0000}", reciptno);
TxtRecNo.Text = formatted;//Output=0001..
Implementé este código para generar el recibo de dinero no.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-21 06:31:23
int num=1;
string number=num.ToString().PadLeft(5, '0')
Output = "00001"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-04 10:45:07