Jump to content


Photo

Apagar Zeros à Esquerda!


  • Faça o login para participar
6 replies to this topic

#1 Celão

Celão

    Marcelo Santino

  • Usuários
  • 525 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro

Posted 11/03/2005, 18:07

opa...
eu tenho um valor que obrigatoriamente deve ter 8 dígitos. Caso tenha menos, ele completa com zeros à esquerda.
Ex: 1200 = 00001200
1234567 = 01234567

entenderam??

eu queria saber como eu faço pra depois, apagar esses zeros à esquerda?

valeu...
Marcelo Santino - DBA SQL Server/Oracle
Banco de dados e Tecnologia: www.bau-de-dev.com

#2 ThalesWeb

ThalesWeb

    Veterano

  • Usuários
  • 1435 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 11/03/2005, 18:13

$valor = "123";
$valor = str_pad($valor, 8, "0", STR_PAD_LEFT);
echo "Valor com zeros: ".$valor;


Agora vamos remover os zeros:

$string = "00000123";
while( $string[1] = "0" ) {
copy( $string, 2, Length( $string ) - 1 );
}
echo "Valor sem zeros: ". $string;


Thales Santos

#3 Celão

Celão

    Marcelo Santino

  • Usuários
  • 525 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro

Posted 11/03/2005, 18:31

cara... isso não funcionou não!
Marcelo Santino - DBA SQL Server/Oracle
Banco de dados e Tecnologia: www.bau-de-dev.com

#4 cachopo

cachopo

    Turista

  • Usuários
  • 51 posts
  • Sexo:Masculino
  • Localidade:Assis, São Paulo

Posted 11/03/2005, 19:06

Você pode usar a função ltrim.

<?php

$comzeros = "00001230";
$semzeros = ltrim($comzeros, "0");
echo $semzeros;

?>
Quando quiser apagar os zeros à direita, use a função rtrim.

<?php

$comzeros = "01230000";
$semzeros = rtrim($comzeros, "0");
echo $semzeros;

?>

Edição feita por: cachopo, 03/06/2007, 07:38.


#5 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 12/03/2005, 01:02

O Thales quiz dizer isso:

<?
$string = "00000123";

while( $string[0] == "0" ) {
   $string = substr($string, 1, strlen ($string));
}

echo "Valor sem zeros: ". $string;
?>

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#6 Celão

Celão

    Marcelo Santino

  • Usuários
  • 525 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro

Posted 12/03/2005, 02:23

ahh saquei!

agora não dá pra testar no meu código, mas a princípio funcionou!

qualquer coisa segunda eu dou um grito por aqui!

valeu galera... abração...
Marcelo Santino - DBA SQL Server/Oracle
Banco de dados e Tecnologia: www.bau-de-dev.com

#7 dejota

dejota

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Não informado

Posted 29/10/2010, 07:26

Você pode usar a função ltrim.

<?php

$comzeros = "00001230";
$semzeros = ltrim($comzeros, "0");
echo $semzeros;

?>
Quando quiser apagar os zeros à direita, use a função rtrim.

<?php

$comzeros = "01230000";
$semzeros = rtrim($comzeros, "0");
echo $semzeros;

?>


Essa dica me ajudou a criar uma função para tirar 0 a direita. Usei pra apagar '0' e ',' com um while.




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq