Fórum Como eliminar zero a esquerda de uma string #299363
13/10/2005
0
se alguma alma bondosa puder me ajudar eu agradeço !!!!!
Fabiano Góes
Curtir tópico
+ 0Posts
13/10/2005
Vinicius2k
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+
Gostei + 0
14/10/2005
Fabiano Góes
Um abraço !!!!!
Gostei + 0
14/10/2005
Nildo
begin while SuaString[ 1 ] = ´0´ do Delete( SuaString, 1, 1 ); end;
Gostei + 0
14/10/2005
Vinicius2k
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+
Gostei + 0
14/10/2005
Nildo
S := IntToStr(StrToInt(S));
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
Gostei + 0
15/10/2005
Vinicius2k
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+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)