RETIRAR ZEROS A ESQUERDA !!!

07/05/2003

0

AMIGOS !


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

Frampton

Responder

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

Marcelo Saviski
Responder

Mais Posts

07/05/2003

4_olho

para i inteiro, faça

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.


Responder

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;



Responder

30/10/2019

Jefferson

para i inteiro, faça

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.


Fala meu amigo, tudo bem?
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?
Responder

31/10/2019

Jefferson

AMIGOS !


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]
Responder

31/10/2019

Jefferson

AMIGOS !


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
Responder

01/11/2019

Emerson Nascimento

acredito que a melhor forma é criar uma função, porque não será sempre possível transformar o conteúdo num tipo numérico.
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


Responder

01/11/2019

Emerson Nascimento

acredito que a melhor forma é criar uma função, porque não será sempre possível transformar o conteúdo num tipo numérico.
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
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar