simple pregunta al azar ()
Pregunta
Necesito un número aleatorio de 4 dígitos
ahora mismo estoy usando rand (1000,9999) que siempre me da un número de 4 dígitos, pero elimino 0000-0999 como posibles resultados.
¿Cómo se rellena un número aleatorio?
(también esto se agregará a una cadena, ¿debo convertir el int como una cadena?)
gracias
Solución
En los lenguajes de scripting como PHP, no tienes que lanzar el 99% de los casos.
El relleno se puede hacer usando
sprintf("%04u", rand(0, 9999));
Explicaciones
el primer argumento de sprintf
especifica el formato
-
%
se mantiene para el segundo, tercero, cuarto argumento, etc. el primer%
se reemplaza por el segundo argumento, el segundo%
por el tercero, etc. -
0
permanece para el comportamiento de rellenar con0
a la izquierda. -
4
permanece para " Al menos 4 caracteres deben imprimirse " -
u
permanece para un entero sin signo.
Otros consejos
sprintf("%04d", rand(0,9999))
debe hacer lo que quiera
Rápido y sucio ... ¿qué hay de hacer:
rand(10000,19999)
y toma los últimos cuatro dígitos:
substr(rand(10000, 19999), 1, 4)
str_pad(mt_rand(0, 9999), 4, '0', STR_PAD_LEFT);
Usa mt_rand () en lugar de rand (), es mejor.
Puede usar str_pad () o sprintf () para formatear tu cadena:
$rand = rand(0, 9999);
$str1 = str_pad($rand, 4, '0', STR_PAD_LEFT);
$str2 = sprintf('%04u', $rand);