Pergunta

Eu preciso de um aleatória 4 número de dígitos

agora mesmo estou usando rand (1000,9999) que sempre me dá um número de 4 dígitos, mas eu elimina 0000-0999 como resultados possíveis.

Como você pad um número aleatório?

(também isso está indo eventualmente ser adicionado a uma corda que eu preciso para lançar o int como uma string?)

graças

Foi útil?

Solução

Em linguagens de scripting como PHP, você não tem que elenco em 99% dos casos.

Padding poderia ser feito usando

sprintf("%04u", rand(0, 9999));

Explicações

o primeiro argumento de sprintf especifica o formato

    argumento
  • estadias % para o segundo, terceiro, adiante etc. o primeiro % é substituído pelo segundo argumento, a segunda % pela terceira etc.
  • estadias 0 para o comportamento de enchimento com 0 à esquerda.
  • estadias 4 para "Pelo menos 4 caracteres devem ser impressos"
  • estadias u para inteiro sem sinal.

Outras dicas

sprintf("%04d", rand(0,9999))

deve fazer o que quiser

rápida e suja ... que tal fazer:

rand(10000,19999)

e tomar os últimos quatro dígitos:

substr(rand(10000, 19999), 1, 4)
str_pad(mt_rand(0, 9999), 4, '0', STR_PAD_LEFT);

Use mt_rand () em vez de rand (), é melhor.

Você pode usar str_pad () ou sprintf () para formatar seu texto:

$rand = rand(0, 9999);
$str1 = str_pad($rand, 4, '0', STR_PAD_LEFT);
$str2 = sprintf('%04u', $rand);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top