Preencher com zero ou caracteres à esquerda

Categoria: Programação

Hans Pufal, enviou uma função javascript para o site electrictoolbox.com que preenche uma string ou número, com caracteres à esquerda, mantendo o sinal caso seja um número negativo.

1
2
3
4
5
6
7
8
9
10
11
12
13
function pad (n, len, padding){
   var sign = '', s = n;
 
   if (typeof n === 'number'){
      sign = n < 0 ? '-' : '';
      s = Math.abs (n).toString ();
   }
 
   if ((len -= s.length) > 0){
      s = Array (len + 1).join (padding || '0') + s;
   }
   return sign + s;
}

Com PHP, seria mais fácil, pode ser usado as funções sprintf() ou printf(), a primeira para retornar uma string formatada e a outra para imprimir a string também formatada. Na função sprintf() no primeiro parâmentro você especifica como vai tratar o segundo parâmetro e sua formatação. Se você quiser preencher com zeros uma string, ela vai retornar apenas zeros.

1
2
3
4
5
6
7
8
9
10
11
12
13
// Usando sprintf()
echo sprintf('%020d',123);
 
// USANDO printf
$s = 'teste';
$t = 'meus testes';
 
printf("[%s]n",      $s); // string normal
printf("[%10s]n",    $s); // justifica à direita com espaços
printf("[%-10s]n",   $s); // justifica à esquerda com espaços
printf("[%010s]n",   $s); // preenche com zeros
printf("[%'#10s]n",  $s); // preenche utilizando um caracter '#'
printf("[%10.10s]n", $t); //  justifica à esquerda mas com corte no décimo caracter

Veja o exemplo
Função PHP sprintf()
Função PHP printf()


Sobre o Autor
Junior Moro em Campo Grande, Mato Grosso do Sul e sou programador na dothCom.
Posts Relacionados
Comentários