No Python, lidar com números de casas decimais é uma parte comum de muitas aplicações. Quando precisamos trabalhar com valores numéricos em ponto flutuante, o tipo float é a solução.
Vamos guiar você no uso do float em Python e explicaremos como converter valores para esse formato, além de explorar alguns métodos úteis de como formatar a exibição desses números.
Sintaxe do float ()
O float() é uma função em Python usada para converter um valor para ponto flutuante, ou seja, para números que têm casas decimais.
A sintaxe é simples: você usa o nome da função seguido do valor a ser convertido entre parênteses.
Exemplo de uso:
numero = float(10) print(numero) # Saída: 10.0
Nesse exemplo, o número inteiro 10 foi convertido para o formato de ponto flutuante e resultou em 10.0.
Parâmetros do float ()
A função float() pode receber um único parâmetro:
-
- x (opcional): número ou string que precisa ser convertido para um número de ponto flutuante.
Se for uma string, ela deve conter pontos decimais.
Tipo de parâmetro | Uso |
Float | Use como número de ponto flutuante |
Integer | Use como inteiro |
String | Deve conter números decimais. Espaços em branco no início e no final são removidos. Uso opcional dos sinais “+” ou “-“. Pode conter NaN, Infinity, inf (minúsculas ou maiúsculas). |
Output para números inteiros
Se você passar um número inteiro como argumento para float(), ele será convertido para ponto flutuante. O valor inteiro será transformado em um número decimal com .0.
Exemplo de uso:
inteiro = 5 decimal = float(inteiro) print(decimal) # Saída: 5.0
Nesse caso, o inteiro 5 foi convertido para o número de ponto flutuante 5.0.
Output para pontos flutuantes
Se você passar diretamente um número em ponto flutuante para float(), o valor será mantido, pois já está no formato desejado.
Exemplo de uso:
numero = 7.89 resultado = float(numero) print(resultado) # Saída: 7.89
Aqui, o valor 7.89 já é um ponto flutuante. Então, a função float() não altera o valor, mas é sempre possível usar a função para garantir o formato.
Como usar float no Python?
O float() é uma função muito útil em Python quando precisamos lidar com números de ponto flutuante, que têm casas decimais. Agora, vamos explorar como usá-la em diferentes situações.
Converter números inteiros para float
Para converter um número inteiro para um número de ponto flutuante, basta passar o número inteiro como argumento para a função float(). O resultado será o mesmo número, mas em formato decimal.
Exemplo de uso:
numero_inteiro = 7 numero_float = float(numero_inteiro) print(numero_float) # Saída: 7.0
Aqui, o número inteiro 7 foi convertido para 7.0 após a aplicação da função float().
Converter string para float
Se você tiver uma string que representa um número com casas decimais, também pode usar a função float() para convertê-la para um número de ponto flutuante. A string precisa estar em um formato válido para que a conversão tenha sucesso.
Exemplo de uso:
numero_str = "12.34" numero_float = float(numero_str) print(numero_float) # Saída: 12.34
Nesse exemplo, a string “12.34” foi convertida para o número de ponto flutuante 12.34. Caso a string não siga um formato numérico válido, como “12,34”, Python lançará um erro.
Atribuir float a uma variável diretamente
Se você já tem um número decimal e deseja armazená-lo diretamente em uma variável como um float, pode fazer isso sem a necessidade de conversão. O Python, automaticamente, reconhece números com casas decimais como valores de ponto flutuante.
Exemplo de uso:
numero = 3.1415 # número já é do tipo float print(type(numero)) # Saída: <class 'float'>
Aqui, o valor 3.1415 é atribuído diretamente à variável número, que é automaticamente reconhecida como um tipo float. Isso facilita o trabalho com valores decimais no seu código.
Principais métodos e funções do float
O tipo float em Python oferece alguns métodos e funções úteis para manipular números de ponto flutuante de maneira mais avançada. Vamos explorar os principais abaixo.
float.is_integer()
O método is_integer() verifica se o valor de um número flutuante é, de fato, um número inteiro. Ele retorna “True” se o número for inteiro (ou seja, não tiver casas decimais) e “False” caso contrário.
Exemplo de uso:
numero = 5.0 print(numero.is_integer()) # Saída: True numero2 = 5.67 print(numero2.is_integer()) # Saída: False
No exemplo, o primeiro número (5.0) é considerado um inteiro. Então, is_integer() retorna “True”. O segundo número (5.67) não é inteiro, logo, retorna “False”.
float.as_integer_ratio()
O método as_integer_ratio() retorna o que representa o número de ponto flutuante como uma fração (numerador, denominador). Isso pode ser útil quando você deseja expressar um número decimal como uma fração.
Exemplo de uso:
numero = 0.75 print(numero.as_integer_ratio()) # Saída: (3, 4)
Aqui, o número 0.75 é representado pela fração 3/4. Esse método é ótimo para converter valores flutuantes em frações exatas.
float.hex()
O método hex() converte um número de ponto flutuante para a sua representação em hexadecimal. Essa função é útil quando você precisa trabalhar com números flutuantes em sistemas que utilizam essa base numérica.
Exemplo de uso:
numero = 12.34 print(numero.hex()) # Saída: '0x1.7ae147ae147ae2p+3'
Nesse exemplo, o número 12.34 é convertido para a sua forma hexadecimal. A string resultante contém a representação em ponto flutuante do número em base 16.
float.fromhex()
O método fromhex() faz a conversão inversa do hex(), ou seja, ele transforma uma string que representa um número em hexadecimal de volta para um número de ponto flutuante.
Exemplo de uso:
numero_hex = '0x1.7ae147ae147ae2p+3' numero_float = float.fromhex(numero_hex) print(numero_float) # Saída: 12.34
Aqui, a string em hexadecimal 0x1.7ae147ae147ae2p+3 foi convertida de volta para o número de ponto flutuante 12.34.
float.is_nan()
O método is_nan() verifica se o valor de um número flutuante é “Not a Number” (NaN). Esse valor é usado para indicar operações inválidas, como divisões por zero ou resultados de cálculos indefinidos.
Exemplo de uso:
import math numero = float('nan') print(numero.is_nan()) # Saída: True numero2 = math.sqrt(-1) print(numero2.is_nan()) # Saída: True
Nesse exemplo, a variável numero é criada como “NaN” e is_nan() retorna “True”. Além disso, o math.sqrt(-1) também retorna “NaN”, pois a raiz quadrada de um número negativo não é um número real.
Como formatar float para exibição?
Quando trabalhamos com números flutuantes, muitas vezes, precisamos formatá-los de uma maneira específica para exibição. Isso pode incluir arredondar, limitar o número de casas decimais ou simplesmente ajustar o formato para melhorar a legibilidade.
Veja algumas abordagens úteis.
Arredondar números flutuantes com formatação de strings
Uma maneira comum de formatar números flutuantes é arredondá-los para um número específico de casas decimais. Isso é útil quando você quer exibir o resultado de cálculos sem mostrar valores muito detalhados.
Usar f-strings no Python 3.6+
Se você utilizar Python 3.6 ou superior, pode aproveitar as f-strings para formatar facilmente os números flutuantes. Elas permitem especificar quantas casas decimais o número deve ter por meio de uma sintaxe simples.
Exemplo de uso:
numero = 12.34567 # Exibir com 2 casas decimais print(f'{numero:.2f}') # Saída: 12.35
Aqui, :.2f indica que o número deve ser exibido com 2 casas decimais. Isso arredonda o número de forma automática.
Usar a função round
A função round() é outra maneira prática de arredondar números flutuantes em Python. Ela pode ser usada para arredondar um número para o número desejado de casas decimais, sem depender de formatação de strings.
Exemplo de uso:
numero = 12.34567 # Arredondar para 2 casas decimais numero_arredondado = round(numero, 2) print(numero_arredondado) # Saída: 12.35
Aqui, a função round() arredonda o número 12.34567 para 12.35 com 2 casas decimais. Essa abordagem é mais voltada para cálculos internos, mas pode ser útil para quando você deseja um valor arredondado diretamente.
Outras abordagens
Além das f-strings e da função round(), existem outras formas de formatar números flutuantes, a depender das necessidades do seu código.
Usar o método .format()
O método .format() também pode ser usado para formatar números flutuantes. Essa abordagem é útil se você utiliza uma versão do Python anterior à 3.6.
Exemplo de uso:
numero = 12.34567 # Exibir com 2 casas decimais com o uso de .format() print('{:.2f}'.format(numero)) # Saída: 12.35
Aqui, o método .format() funciona de maneira similar às f-strings, mas com uma sintaxe um pouco mais antiga.
Usar a função format()
A função format() também pode ser usada diretamente para formatar números flutuantes, sem a necessidade de f-strings ou do método .format() no caso de strings.
Exemplo de uso:
numero = 12.34567 # Exibir com 2 casas decimais com o uso de .format() numero_formatado = format(numero, '.2f') print(numero_formatado) # Saída: 12.35
Nesse exemplo, a função format() é utilizada diretamente para formatar o número com 2 casas decimais. Isso funciona de maneira semelhante ao método .format() e é útil quando se deseja evitar o uso de f-strings.
Variáveis e tipos de dados em Python
Em Python, as variáveis são fundamentais para armazenar informações temporárias durante a execução de um programa. Elas funcionam como contêineres que armazenam valores e podemos manipulá-los conforme necessário em nosso código.
Variáveis
As variáveis são declaradas por meio da atribuição de valores a partir do uso do operador =.
Python é uma linguagem de tipagem dinâmica, o que significa que o tipo da variável é definido pelo valor atribuído, sem a necessidade de declaração explícita. Além disso, Python permite múltiplas atribuições simultâneas.
Exemplo:
idade = 51 nome = "Pedro" preco = 3.25
Aqui, idade é um inteiro, nome é uma string e preco é um ponto flutuante.
Múltiplas atribuições:
x, y, z = 5, 3.25, "Pedro"
Nesse caso, x recebe o valor 5, y o valor 3.25 e z a string “Pedro”.
Para verificar o tipo de uma variável, utilizamos a função type(), como mostrado abaixo:
print(type(idade)) # <class 'int'> print(type(nome)) # <class 'str'> print(type(preco)) # <class 'float'>
Boas práticas: nomes de variáveis devem seguir as convenções do Python, como o uso de letras minúsculas e o separador _ (snake_case), conforme o PEP-8.
Evite usar palavras reservadas e não inicie variáveis com underscores, a não ser em casos específicos.
Exemplo:
data_de_nascimento = "08/11/1973" valor_total = 55
Tipos de dados em Python
Python é uma linguagem dinamicamente tipada, o que significa que os tipos das variáveis são inferidos automaticamente, sem necessidade de declaração explícita.
Confira os tipos principais:
-
- Inteiro (int): números sem parte decimal, como 17 ou -3;
idade = 17 print(type(idade)) # <class 'int'>
-
- Ponto flutuante (float): números com parte decimal, como 69.3 ou 1.72;
peso = 69.3 altura = 1.72 print(type(peso)) # <class 'float'>
-
- Complexo (complex): representa números complexos, como 70 + 4j;
a = 70 + 4j print(type(a)) # <class 'complex'>
-
- String (str): sequências de caracteres, como palavras ou frases;
nome = "Raquel" print(type(nome)) # <class 'str'>
-
- Boolean (bool): representa valores lógicos, “True” ou “False”;
status = True print(type(status)) # <class 'bool'>
-
- Listas (list): coleções de itens — que podem ser de tipos variados;
alunos = ['Alice', 'Fernanda', 'Michel'] print(type(alunos)) # <class 'list'>
-
- Tuplas (tuple): coleções imutáveis de itens;
valores = (540, 20, 22, 73) print(type(valores)) # <class 'tuple'>
-
- Dicionários (dict): estruturas que armazenam pares de chave e valor;
usuarios = {'Bárbara': 19, 'Leandro': 40} print(type(usuarios)) # <class 'dict'>
Conversão de tipos de dados
Em alguns casos, pode ser necessário alterar o tipo de uma variável. Python oferece funções integradas para realizar essas conversões.
Veja alguns exemplos de conversão a seguir:!
Inteiro para float
n = 50 print(float(n)) # Saída: 50.0
Float para inteiro
m = 320.7 print(int(m)) # Saída: 320
Inteiro para string
valor = 10 print(str(valor)) # Saída: '10'
Esses exemplos mostram como é possível converter tipos de dados de forma flexível em Python, sem complicação.
Agora que você já sabe como funciona o float em Python, que tal aprofundar os seus conhecimentos sobre essa linguagem de programação em nosso guia sobre Python?
Você também pode se interessar pelos nossos serviços: