Introdução
Neste artigo, usaremos a função float()
do Python para converter strings em floats. E também utilizaremos a função str()
do Python para converter floats em strings.
É importante converter adequadamente os tipos de dados antes de usá-los em cálculos e concatenações para evitar erros de tempo de execução.
Pré-requisitos
Para completar este tutorial, você precisará de:
- Familiaridade com a instalação do Python 3. E familiaridade com a programação em Python. Série Como Programar em Python 3 ou usando o VS Code para Python.
Este tutorial foi testado com Python 3.9.6.
Utilizando a função float()
Podemos converter uma string em float em Python usando a função float()
. Esta é uma função incorporada usada para converter um objeto em um número de ponto flutuante. Internamente, a função float()
chama a função __float__()
do objeto especificado.
Exemplo
Vamos ver um exemplo de como converter uma string em float em Python:
input_1 = '10.5674'
input_1 = float(input_1)
print(type(input_1))
print('Float Value =', input_1)
Resultado:
<class 'float'>
Float Value = 10.5674
O valor da string '10.5674'
foi convertido para o valor float 10.5674
.
Por que precisamos converter uma string em float?
Se estamos recebendo um valor float da entrada do usuário através do terminal ou lendo-o de um arquivo, então eles são objetos de string. Temos que convertê-los explicitamente em float para que possamos realizar operações necessárias sobre eles, como adição, multiplicação, etc.
input_1 = input('Please enter first floating point value:\n')
input_1 = float(input_1)
input_2 = input('Please enter second floating point value:\n')
input_2 = float(input_2)
print(f'Sum of {input_1} and {input_2} is {input_1+input_2}')
Nota: Se você não está familiarizado com formatação de string usando o prefixo f, por favor, leia f-strings em Python.
Vamos executar este código e fornecer valores float para input_1
e input_2
:
Please enter first floating point value:
10.234
Please enter second floating point value:
2.456
Sum of 10.234 and 2.456 is 12.69
A soma resultante de 10.234
e 2.456
é 12.69
.
Idealmente, devemos usar um bloco try-except
para capturar exceções em caso de entrada inválida do usuário.
Usando a função str()
Também podemos converter um float para uma string usando a função str()
. Isso pode ser necessário em situações onde queremos concatenar valores float.
Exemplo
Vamos ver um exemplo:
input_1 = 10.23
input_2 = 20.34
input_3 = 30.45
# usando f-string do Python 3.6+, altere para format() para versões mais antigas
print(f'Concatenation of {input_1} and {input_2} is {str(input_1) + str(input_2)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{str(input_1)},{str(input_2)},{str(input_3)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{", ".join([str(input_1),str(input_2),str(input_3)])}')
Vamos executar este código:
Concatenation of 10.23 and 20.34 is 10.2320.34
CSV from 10.23, 20.34 and 30.45:
10.23,20.34,30.45
CSV from 10.23, 20.34 and 30.45:
10.23, 20.34, 30.45
A concatenação de 10.23
e 20.34
produz a string '10.2320.34'
. Este código também produz duas versões de valores separados por vírgula (CSV).
Se não convertermos float para string no programa acima, a função join()
lançará uma exceção. Além disso, não poderemos usar o operador +
para concatenar, pois ele adicionará os números de ponto flutuante.
Conclusão
Você pode conferir o script Python completo e mais exemplos em Python em nosso repositório no GitHub.
Referências:
Source:
https://www.digitalocean.com/community/tutorials/python-convert-string-to-float