Wix - Crie um Website Grátis
Você está aqui: Inicio -> Dicas e Truques -> Delphi -> Como converter uma string em um valor numérico inteiro
Como converter uma string em um valor numérico inteiro
Esta dica foi visualizada 8825 vezes

Url reduzida: http://www.arquivodecodigos.net/dicas/2746

Categoria: Dicas & Truques
Sub-Categoria: Rotinas de Conversão [Veja dicas relacionadas]

Como converter uma string em um valor numérico inteiro

Em algumas situações precisamos converter strings em valores numéricos do tipo inteiro. Isso acontece quando recebemos valores de caixas de texto e precisamos usuá-los em cálculos.

Vamos começar com a função StrToInt() da unit SysUtils. Esta função recebe uma string representando um valor inteiro válido e retorna um valor inteiro. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  valor1, valor2, soma: Integer;
begin
  // vamos receber as strings dos TEdits e converter
  // seus valores para inteiros
  valor1 := StrToInt(Edit1.Text);
  valor2 := StrToInt(Edit2.Text);

  // vamos obter a soma dos dois valores
  soma := valor1 + valor2;

  // vamos exibir o resultado. Note o uso de IntToStr() para
  // converter o valor inteiro em string
  ShowMessage('A soma é: ' + IntToStr(soma));
end;

Note que, se a string sendo convertida possuir um valor inteiro inválido, uma exceção do tipo EConvertError será lançada. Podemos evitar isso usando a função TryStrToInt(). Esta função recebe dois argumentos: a string a ser convertida e a variável do tipo Integer que receberá o valor. O resultado será true se a conversão for feita com sucesso e false em caso contrário. Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  valor: Integer;
begin
  // vamos tentar converter o valor da caixa de texto
  // em um inteiro
  if TryStrToInt(Edit1.Text, valor) then
    ShowMessage('Conversão efetuada com sucesso.')
  else
    ShowMessage('Erro na conversão');
end;

Há ainda uma terceira possibilidade: usar a função StrToIntDef(). Esta função funciona exatamente da mesma forma que StrToInt(), exceto que agora, se houver um erro de conversão, um valor inteiro padrão será retornado. Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  valor: Integer;
begin
  // vamos converter o valor da caixa de texto
  // em um inteiro. Se a conversão não puder ser feita
  // o valor 10 será atribuído à varial valor
  valor := StrToIntDef(Edit1.Text, 10);

  // vamos exibir o resultado
  ShowMessage(IntToStr(valor));
end;

Caso você precise trabalhar com inteiros de 64 bits, poderá usar as funções StrToInt64(), StrToInt64Def() e TryStrToInt64().

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.
Palavras-chaves:
feita , Edit2, funções, receber, exceção, Isso, Delphi, ; , você, inteiros , Erro, efetuada, sucesso, TryStrToInt, varial, 10, situações, else , começar, > Para, Integer, string, se, exatamente, atribuído, TObject, exceto, feita, EConvertError, Button1Click, A, com, Podemos, caixas, TForm1, inválido, usuá-los, converter , IntToStr, esta, Text, resultado , argumentos, possibilidade, tentar, que, em, exemplo, if, convertida, valor2, +, StrToInt64, procedure, houver, receberá, Caso, for, ser, para, funciona, 2009, ; end; , valor2; , de, contrário, dica, > Há, valor, Note, inteiros, dois, 64, e, O, retorna, fins, seus, terceira, TEdits, conversão, evitar, false, recebemos, agora, > Vamos, vamos, Se, erro, cálculos, acontece, caso, exibir, o, SysUtils, valor , usar, trabalhar, escrita, ; , isso, ; var , valores, mesma, padrão, , forma, na, possuir, StrToInt, Esta, será, um, TryStrToInt64, bits, Note, da, precise, numéricos, inteiro, sendo, then , lançada, retornado, foi, Veja, válido, recebe, unit, converter, Edit1, > Em, usando, tipo, obter, StrToIntDef, valor1, Como, true, StrToInt64Def, função, > , compatibilidade, é, ainda, uso, valores
 
Digitando 2011 - O programa de digitação mais usado em todo o Brasil
Patrocinador oficial: O Digitando 2011 é um dos programas para a prática de digitação mais usados no Brasil. É o preferido das franquias DATA BYTE, Microlins, MICROCAMP e PREPARA. Faça o download e conheça-o você também. O Digitando é o único no Brasil que permite a execução de músicas e rítmos de bateria enquanto se pratica a digitação.
Veja mais Dicas & Truques na sub-categoria: Rotinas de Conversão
Veja mais Dicas & Truques de Delphi
Veja mais Dicas & Truques de outras linguagens
JSP (Java Server Pages) - Contando de 0 a 10 usando a tag forEach
Fechar
Osmar J. Silva - Criador do site Arquivo de CódigosVocê está precisando de freelance para ajudá-lo em seus códigos?
Meu nome é Osmar J. Silva. Sou criador deste site, programador e atuo como freelancer desde 2001.

Minha especialidade é C/C++. Mas posso ajudá-lo em Java, Delphi, PHP, Python, Ruby, Qt, wxWidgets, MySQL e algumas outras linguagens e ferramentas. Clique aqui e fale comigo por telefone, e-mail ou MSN.
Precisando de um baixista freelancer para Goiânia e região?
Visão Tributária - Curso de Nota Fiscal Eletrônica em Goiânia - GO
Referências
Tipos de dados da linguagem Java
Palavras-chave e palavras reservadas da linguagem Java
Tipos de dados da linguagem PHP
 
Dicas e truques de Java
Dicas e truques de C++
Dicas e truques de Delphi
http://www.arquivodecodigos.net
2000 - 2010 - Todos os direitos reservados a Osmar J. Silva
Todo o conteúdo deste site, quando não devidamente observado, pertence a seus idealizadores e não
poderá ser usado para outras finalidades senão estudo e aprimoramento de técnicas de programação.

Posso copiar o conteúdo do site e colocar em meu site ou blog? Pode sim, desde que você coloque um link e referência
ao meu site. Caso não faça isso meu advogado fará todo o possível para deixar sua conta bancária com algumas centenas
de Reais a menos.

Fale Conosco: (62) 3261-7018 / (62) 8185-0734
E-Mail: suporte@recomende.com
MSN: osmar@recomende.com (só para negócios, por favor)
Perfil no LinkedIn: http://br.linkedin.com/pub/osmar-j-silva-silva/8/94a/630

Para me contratar como freelancer ligue: (062) 3261-7018 / (62) 8185-0734

Desenvolvedor Responsável: Osmar J. Silva
Fechar