Ao trabalhar com Python, você pode se deparar com situações em que precisa converter uma string em um tipo de dado numérico, como um float ou um inteiro. Essa é uma tarefa comum, especialmente ao lidar com entradas de usuário ou ao analisar dados de arquivos. Neste artigo, vamos explorar como realizar essas conversões de maneira fácil e eficiente.
Convertendo uma String para Float
Para converter uma string para float, você pode usar a função float()
. Essa função recebe uma string como argumento e a converte em um número de ponto flutuante. Aqui está um exemplo simples:
a = "545.2222"
converted_float = float(a)
print(converted_float) # Saída: 545.22220000000004
TestarNote que a saída pode ter mais casas decimais do que a string original. Isso ocorre devido à forma como os números de ponto flutuante são representados na memória.
Convertendo uma String para Int
Se você precisa converter uma string para um inteiro, você pode primeiro convertê-la para float e depois para int usando a função int()
. Isso é necessário quando a string representa um número decimal e você deseja truncá-lo para um inteiro. Veja como você pode fazer isso:
a = "545.2222"
converted_int = int(float(a))
print(converted_int) # Saída: 545
TestarVerificando se uma String Pode Ser Convertida
Antes de tentar converter uma string, é uma boa prática verificar se a conversão é possível. Isso pode prevenir erros no seu programa. Você pode definir uma função para verificar se uma string é um float válido:
def is_float(value):
try:
float(value)
return True
except ValueError:
return False
Essa função tenta converter a string para float. Se for bem-sucedida, a função retorna True
; caso contrário, ela captura o ValueError
e retorna False
.
Lidando com Diferentes Tipos de Entradas
É importante notar que nem todas as strings podem ser convertidas para float ou int. Por exemplo, strings com letras ou caracteres especiais farão com que a conversão falhe. Aqui estão alguns exemplos de strings e se elas podem ser convertidas para float:
"127"
: Pode ser convertida para float."True"
: Não pode ser convertida para float."123.456"
: Pode ser convertida para float."NaN"
: Pode ser convertida para float (representa “Not a Number” ou “Não é um Número”)."infinity"
: Pode ser convertida para float (representa infinito positivo).
Uma Função Geral para Conversão
Se você deseja uma função que tenta converter uma string para int e recorre a float se necessário, você pode usar a seguinte:
def num(s):
try:
return int(s)
except ValueError:
return float(s)
Essa função primeiro tenta converter a string para int. Se falhar devido a um ValueError
, ela então tenta converter a string para float.
Resumo
Neste artigo, aprendemos como converter strings para floats e inteiros em Python. Também discutimos como verificar se uma string é conversível para float e como lidar com diferentes tipos de entradas. Lembre-se, ao converter strings para tipos numéricos, sempre garanta que a string esteja em um formato que possa ser convertido para evitar erros no seu programa. Com essas técnicas, você será capaz de lidar com conversões numéricas com confiança em seus projetos Python.
Cursos de programação gratuitos com certificado
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
- Conteúdos gratuitos
- Projetos práticos
- Certificados
- +20 mil alunos e comunidade exclusiva
- Materiais didáticos e download de código
Comentários