0

Como eu posso contar a quantidade de caracters e se for menor que 16, atribuir zeros a esquerda até chegar em 16?

criado por Rodrigo Oliveira em 06/02/2003 3:15pm
Nenhuma descrição foi enviada.

Lista de Respostas:

0
07/02/2003 5:36am
(~21 anos atrás)
Rafael Zanoni respondeu:
Faça o seguinte:

$variavel = 2003;

$tm_variavel = strlen($variavel);

$qnt_zeros = $tm_variavel - 16;

For ($i=0;$i<$qnt_zeros;$i++) {
$j = $i . $i
(string) $string_final = $j
Loop

(string) $finalmente = $string_final . $variavel

0
07/02/2003 6:35am
(~21 anos atrás)
Luciano Lima respondeu:
Abaixo uma versão mais simples de fazer isso.

if(strlen($variavel)<16){
$temp = "";
for($a=(strlen($variavel));$a<=16;$a++) $temp .= "0";
$variavel = $temp . $variavel ;
}

Onde $variavel é a variavel que contem o valor de entrada ou final ela tera o comprimento 16.
Você pode usar as mesma lina para um comprimento maior, basta modificar o valor 16 pelo desejado.

Abraços,
Luciano - www.netdinamica.cmo.br

0
07/02/2003 7:06am
(~21 anos atrás)
<?
// Número
$var="25";

while (strlen($var)<16){
$var = "0".$var;
}

echo $var;
?>

0
07/02/2003 9:35am
(~21 anos atrás)
Cléver Anjos respondeu:
vc pode fazer com apenas uma linha :

$var = str_pad($var, 16, "0", STR_PAD_LEFT);

0
09/02/2003 7:51am
(~21 anos atrás)
o velho sprintf
$n = sprintf("%016d",$n);

0
09/02/2003 8:21am
(~21 anos atrás)
Lyma respondeu:
Esta do Luciano é uma esculhambação!!! Parabéns!

0
11/02/2003 4:26pm
(~21 anos atrás)
Outra opcao e usar o substr:
$x = '1567';
$x16 = substr('000000000000000',$x, -16);

ou seja e atribui a esquerda quinze zeros e depois trunca o excesso.

0
11/10/2003 10:24pm
(~20 anos atrás)
Nil Martins respondeu:
Aí, saquei que cêis são bão de incluir zero! .. quero ver tirar!
meu resultado vem com 8 a 10 zero a esquerda, como sumir com eles?

Gostei desse sprintf. Onde acho materia que fala mais dele?


Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)