Fórum Como eliminar zero a esquerda de uma string #299363

13/10/2005

0

Preciso eliminar todos os zeros a esquerda de uma string ?

se alguma alma bondosa puder me ajudar eu agradeço !!!!!


Fabiano Góes

Fabiano Góes

Responder

Posts

13/10/2005

Vinicius2k

Colega,

Uma solução:
...
var
  S: String;
  I: Integer;
begin
  S := ´0000012345´;
  for I := 1 to Length(S) do
  begin
    if not (S[I] = ´0´) then
    begin
      Delete(S, 1, (I-1));
      Break;
    end;
  end;
end;


Outra...
...
var
  S: String;
  I: Integer;
begin
  S := ´0000012345´;
  for I := 1 to Length(S) do
  begin
    if not (S[I] = ´0´) then
    begin
      S := Copy(S, I, Length(S));
      Break;
    end;
  end;
end;


T+


Responder

Gostei + 0

14/10/2005

Fabiano Góes

Valeu Vinicius2K,,,,,,,

Um abraço !!!!!


Responder

Gostei + 0

14/10/2005

Nildo

Ou então algo mais facil:

begin
   while SuaString[ 1 ] = ´0´ do
      Delete( SuaString, 1, 1 );
end;



Responder

Gostei + 0

14/10/2005

Vinicius2k

:shock:
Afe... bem mais fácil nildo!

Outra (talvez ´gambiarra´):
S := IntToStr(StrToInt(S));


Só não sei qual teria o menor custo de processamento...

T+


Responder

Gostei + 0

14/10/2005

Nildo

:shock: Afe... bem mais fácil nildo! Outra (talvez ´gambiarra´):
S := IntToStr(StrToInt(S));
Só não sei qual teria o menor custo de processamento... T+


Hehehe inteligente esse método! mas é meio que gambiarra... teria um custo de processamento alto pois ele faria a conversão byte a byte da string. No caso do While, se encontrar algo <> de ´0´, ele vai parar, evitando processamento desnecessário! :D


Responder

Gostei + 0

15/10/2005

Vinicius2k

...inteligente esse método! mas é meio que gambiarra...

hehe... eu não disse que era!
Obrigado pelo esclarecimento quanto à conversão. Eu, antes de postar isso, *tentei* analisar as duas funções ´delete´ e ´IntToStr/StrToInt´, mas ambas são em ASM, então não pude concluir.

T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar