zerofill un entero php

1 minuto de lectura

avatar de usuario
punteado

¿Cómo haría para ‘llenar con ceros’ un número entero?

es decir

1 becomes 0001
40 becomes 0040
174 becomes 0174

  • stackoverflow.com/questions/1431240/how-to-count-with-0

    – raspi

    18 de septiembre de 2009 a las 19:53

$filled_int = sprintf("%04d", $your_int)

  • Si desea hacer Zero Pad para 15 dígitos, debería ser así: $filled_int = sprintf(“%015d”, $your_int)

    –Nuri Akman

    29 de noviembre de 2018 a las 8:21

avatar de usuario
José

$number = 12;
$width = 4;
$padded = str_pad((string)$number, $width, "0", STR_PAD_LEFT); 

  • Esto se rellena a la derecha del número y se rellena con espacios, no con ceros. $relleno = str_pad($número, $ancho, 0, STR_PAD_LEFT);

    – Tom Haigh

    18 de septiembre de 2009 a las 10:09

  • Sí, omisión de mi parte. Corregido. Pero mantendría cierta apariencia de seguridad de tipos al proporcionar tipos apropiados (incluso si la conversión es automática).

    – José

    18 de septiembre de 2009 a las 10:32

  • Dependiendo del escenario, diría que esta suele ser la mejor solución. Además, actualmente no es necesario convertir explícitamente a string a menos que use un literal numérico en str_pad. Una variable de tipo numérico se convertirá implícitamente.

    – Jack Henahan

    16 de marzo de 2014 a las 22:28

¿Ha sido útil esta solución?