solo - number_format php
¿Cómo formatear números con 00 prefijos en php? (6)
Estoy tratando de generar números de factura. Siempre deben tener 4 números, con ceros a la izquierda, por ejemplo:
- 1 -> Factura 0001
- 10 -> Factura 0010
- 150 -> Factura 0150
etc.
Prueba esto:
$x = 1;
sprintf("%03d",$x);
echo $x;
Use str_pad () .
$invID = str_pad($invID, 4, ''0'', STR_PAD_LEFT);
Uso (s) printf
printf(''%04d'',$number);
printf()
funciona bien si siempre está imprimiendo algo, pero sprintf()
le da más flexibilidad. Si tuviera que usar esta función, el $threshold
sería 4 .
/**
* Add leading zeros to a number, if necessary
*
* @var int $value The number to add leading zeros
* @var int $threshold Threshold for adding leading zeros (number of digits
* that will prevent the adding of additional zeros)
* @return string
*/
function add_leading_zero($value, $threshold = 2) {
return sprintf(''%0'' . $threshold . ''s'', $value);
}
add_leading_zero(1); // 01
add_leading_zero(5); // 05
add_leading_zero(100); // 100
add_leading_zero(1); // 001
add_leading_zero(5, 3); // 005
add_leading_zero(100, 3); // 100
add_leading_zero(1, 7); // 0000001
while ( strlen($invoice_number) < 4 ) $invoice_num = ''0'' . $invoice_num;
Utilice sprintf
: http://php.net/function.sprintf
$number = 51;
$number = sprintf(''%04d'',$number);
print $number;
// outputs 0051
$number = 8051;
$number = sprintf(''%04d'',$number);
print $number;
// outputs 8051