A conversão Python string para float ajuda a evitar erros em ten­ta­ti­vas de se realizar operações arit­mé­ti­cas com valores numéricos.

Re­qui­si­tos para converter string para float em Python

Em Python, para converter uma string para float, essa string deve ter uma re­pre­sen­ta­ção numérica válida de um número de ponto flutuante. Isso quer dizer que ela pode incluir números no formato decimal, pontos decimais e até notações ci­en­tí­fi­cas (por exemplo: "3.14" ou "2.7e-3"). A string em questão também deve estar livre de ca­rac­te­res adi­ci­o­nais, espaços ou ca­rac­te­res inválidos, que não re­pre­sen­tem valores numéricos. Caso contrário, a conversão pode resultar em um erro.

A conversão Python string para float é uma fun­ci­o­na­li­dade básica dessa linguagem de pro­gra­ma­ção, estando dis­po­ní­vel em todas as suas versões. No entanto, di­fe­ren­tes versões de Python podem acarrear nuances na uti­li­za­ção de métodos e funções re­la­ci­o­na­das. Assim, você deve con­si­de­rar a pos­si­bi­li­dade de ocor­rên­cia de erros durante processos de conversão, prin­ci­pal­mente com strings contendo números inválidos. Embora valores especiais, como NaN (Not a Number) e Infinity, possam ser re­pre­sen­ta­dos como floats em Python, tentar converter strings que não cor­res­pon­dam cor­re­ta­mente a esses valores pode resultar em erros. Portanto, o tra­ta­mento de con­ver­sões requer uma adequada gestão de erros pelos de­sen­vol­ve­do­res. Isso pode incluir, por exemplo, o uso de blocos Try-Except para capturar exceções e reagir de forma apro­pri­ada.

Converter strings com float()

A função float() é um método embutido em Python que converte uma string em um número de ponto flutuante (float). Assim, float() é fre­quen­te­mente utilizada para trans­for­mar entradas de usuários em formatos numéricos, per­mi­tindo a re­a­li­za­ção de cálculos ou operações com valores numéricos. Em programas que lidam com di­fe­ren­tes tipos de dados, float() é utilizada para garantir a con­sis­tên­cia dos dados, con­ver­tendo valores para o formato numérico desejado.

Para converter string para float em Python, você deve passar uma string válida como argumento para a função float().

str1 = "3.1416"
float_value = float(str1)
print(float_value) # Output: 3.1416
python

Outros tipos numéricos, como int e complex, também podem ser con­ver­ti­dos em números de ponto flutuante ao serem passados para a função float().

Com um bloco Try-Except, você pode capturar entradas inválidas ao tentar converter uma string para float.

while True:
    user_input = input("Enter a number: ")
    try:
        float_value = float(user_input)
        print("Entered number as float:", float_value)
        break # Exit the loop if the conversion was successful
    except ValueError:
        print("Invalid input! Please enter a numeric value.")
        # The loop continues to prompt for valid input
python

O código acima é um loop que solicita ao usuário a inserção de um número. Em seguida, ele converte o valor inserido em um número de ponto flutuante. Dentro do bloco Try, a função float(user_input) é usada para converter a string inserida em float. Se a conversão for bem-sucedida, o número em float_value é ar­ma­ze­nado e exibido. Em seguida, a instrução break termina o loop e continua o programa.

Se ocorrer algum tipo de Va­lu­e­Er­ror durante a conversão, o código contido no bloco Except será executado. Isso pode acontecer se o usuário inserir algo que não pode ser con­ver­tido em float, como uma letra. Nesse caso, a entrada inválida será informada e o loop con­ti­nu­ará, so­li­ci­tando uma nova entrada válida.

Converter string para float em Python com NumPy

Para converter uma string em float com NumPy, você pode usar a função numpy.float64(). Isso irá criar um valor de ponto flutuante de 64 bits a partir de uma string.

import numpy as np
string_value = "3.1416"
float_value = np.float64(string_value)
print(float_value) # Output: 3.1416
python

Pri­mei­ra­mente, você deve importar o NumPy para o seu script, caso ele ainda não esteja instalado. Depois disso, você poderá aplicar a função numpy.float64() à string string_value para converter a string em um valor de ponto flutuante de 64 bits.

Converter string para float em Python com str()

Por sua vez, a função str() em Python serve para converter valores em uma string. Ela também pode ser usada com números de ponto flutuante e convertê-los em uma re­pre­sen­ta­ção de string.

float_number = 3.1416
string_number = str(float_number)
print(string_number) # Output: "3.1416"
python

No exemplo acima, o valor float 3.1416 é con­ver­tido para a string "3.1416" por meio da função str().

A função str() também é útil para con­ca­te­nar vários valores float usando f-strings, um formato de string em Python.

float_value1 = 3.1416
float_value2 = 2.7182
float_value3 = 1.6180
string_concatenation = f"Concatenation of: {str(float_value1)}, {str(float_value2)}, and {str(float_value3)}"
print(string_concatenation) # Concatenation of: 3.1416, 2.7182, and 1.6180
python

É im­por­tante observar que, ao converter floats em strings com str(), a string re­sul­tante re­pre­sen­tará o valor como texto, não podendo ser usada di­re­ta­mente para cálculos numéricos ou operações ma­te­má­ti­cas. Isso poderá ser feito, contudo, caso uma conversão reversa seja realizada, de volta à forma numérica (float).

Dica

Nosso Digital Guide também ensina você a converter Python strings em listas e Python strings em datetime.

Hos­pe­da­gem que se adapta às suas ambições
  • Fique online com 99,99% de tempo de atividade e segurança robusta
  • Aumente o de­sem­pe­nho com um clique à medida que o tráfego cresce
  • Inclui domínio gratuito, SSL, e-mail e suporte 24 horas por dia, 7 dias por semana
Ir para o menu principal