RETIRAR ZEROS A ESQUERDA !!!
07/05/2003
0
Estou com problemas para retirar os ZEROS do lado esquerdo de uma string.
Dentro da string tenho numeros positivos, e negativos com um sinal de menos ´-´ ,
ex:
0000003813 ( Positivo )
0000000360 ( Positivo )
000000-554 ( Negativo )
0000-13728 ( Negativo )
00000-8856 ( Negativo )
Estou precisando tirar esses zeros a esquerda da string e conservar o valor negativo ou positivo.
Podem me ajudar ????
Frampton
Post mais votado
07/05/2003
function tiorazeros(numero : string) : string; var i : integer; begin for i := 0 to length(numero) do if numero[i] in [´1´..´9´,´-´] then abort; result := copy(numero, i , 20); end;
Marcelo Saviski
Mais Posts
07/05/2003
4_olho
i := integer(00000-8856);
por exemplo
É só uma dica, modifique conforme a necessidade ... O que vai dentro dos parênteses de integer é uma ´string´
Para verificar, crie uma nova aplicação e coloque um label. No evento OnCreate do Form digite
procedure TForm1.FormCreate(Sender: TObject);
var
i : integer;
begin
I:=Integer(00000-8856)+100;
label1.Caption:=IntToStr(i);
end;
end.
Como pode ver, o resultado está correto.
07/05/2003
Aroldo Zanela
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(FloatToStr(StrToDecimal(´0000003813´))); ShowMessage(FloatToStr(StrToDecimal(´0000000360´))); ShowMessage(FloatToStr(StrToDecimal(´000000-554´))); ShowMessage(FloatToStr(StrToDecimal(´0000-13728´))); ShowMessage(FloatToStr(StrToDecimal(´00000-8856´))); end; function TForm1.StrToDecimal(Expressao: String): Extended; var nNeg: Integer; nAcao: Integer; begin nNeg := Pos(´-´,Expressao); if nNeg>0 then begin Expressao[nNeg] := ´0´; nAcao := -1; end else nAcao := 1; Result := StrToInt(Expressao)*nAcao; end;
30/10/2019
Jefferson
i := integer(00000-8856);
por exemplo
É só uma dica, modifique conforme a necessidade ... O que vai dentro dos parênteses de integer é uma ´string´
Para verificar, crie uma nova aplicação e coloque um label. No evento OnCreate do Form digite
procedure TForm1.FormCreate(Sender: TObject);
var
i : integer;
begin
I:=Integer(00000-8856)+100;
label1.Caption:=IntToStr(i);
end;
end.
Como pode ver, o resultado está correto.
Preciso fazer isso, cortar os Zeros da Esquerda, soque com uma string Serial. Exp:
var RxCount: Integer;
RxComport: String;
begin
comport.ReadStr(RxComport,RxCount);
Label.Caption:= copy(RxComport,4,length(RxComport)-9);
end;
Nessa serial, o recebido é q0 000020000000.
Eu preciso somente do numero 20 pra cá, mas sem os Zeros.
Pode me ajudar?
31/10/2019
Jefferson
Estou com problemas para retirar os ZEROS do lado esquerdo de uma string.
Dentro da string tenho numeros positivos, e negativos com um sinal de menos ´-´ ,
ex:
0000003813 ( Positivo )
0000000360 ( Positivo )
000000-554 ( Negativo )
0000-13728 ( Negativo )
00000-8856 ( Negativo )
Estou precisando tirar esses zeros a esquerda da string e conservar o valor negativo ou positivo.
Podem me ajudar ????
[string numero = "0000-13728";
MessageBox.Show(numero.TrimStart('0')); //13728/quote]
31/10/2019
Jefferson
Estou com problemas para retirar os ZEROS do lado esquerdo de uma string.
Dentro da string tenho numeros positivos, e negativos com um sinal de menos ´-´ ,
ex:
0000003813 ( Positivo )
0000000360 ( Positivo )
000000-554 ( Negativo )
0000-13728 ( Negativo )
00000-8856 ( Negativo )
Estou precisando tirar esses zeros a esquerda da string e conservar o valor negativo ou positivo.
Podem me ajudar ????
string numero = "0000-13728";
MessageBox.Show(numero.TrimStart('0')); //13728
01/11/2019
Emerson Nascimento
fiz essas duas, e funcionam como solicitado:
// função para retirar os zeros à esquerda de uma string function TiraZerosEsq(conteudo: string): string; var i: integer; begin for i := 0 to length(conteudo) do if (conteudo[i] <> '0') and (conteudo[i] <> #0) then break; result := copy(conteudo, i, length(conteudo)); end; // função para 'cortar' a letra contida em caracter do inicio da string // esta função é mais versátil, porque pode ser usada para retirar // qualquer caractere do início da string function TrimStart(conteudo: string; caracter: char): string; var i: integer; begin for i := 0 to length(conteudo) do if (conteudo[i] <> caracter) and (conteudo[i] <> #0) then break; result := copy(conteudo, i, length(conteudo)); end;
pode testar assim:
ShowMessage(TiraZerosEsq('0000-13728')); // retira os zeros à esquerda ShowMessage(TrimStart('000020000000', '0')); // retira o 0 do início da string ShowMessage(TrimStart('JJJJJ20000000', 'J')); // retira o 'J' do início da string
01/11/2019
Emerson Nascimento
fiz essas duas, e funcionam como solicitado:
// função para retirar os zeros à esquerda de uma string function TiraZerosEsq(conteudo: string): string; var i: integer; begin for i := 0 to length(conteudo) do if (conteudo[i] <> '0') and (conteudo[i] <> #0) then break; result := copy(conteudo, i, length(conteudo)); end; // função para 'cortar' a letra contida em caracter do inicio da string // esta função é mais versátil, porque pode ser usada para retirar // qualquer caractere do início da string function TrimStart(conteudo: string; caracter: char): string; var i: integer; begin for i := 0 to length(conteudo) do if (conteudo[i] <> caracter) and (conteudo[i] <> #0) then break; result := copy(conteudo, i, length(conteudo)); end;
pode testar assim:
ShowMessage(TiraZerosEsq('0000-13728')); // retira os zeros à esquerda ShowMessage(TrimStart('000020000000', '0')); // retira o 0 do início da string ShowMessage(TrimStart('JJJJJ20000000', 'J')); // retira o 'J' do início da string
Clique aqui para fazer login e interagir na Comunidade :)
Inserção de url