HOWTO · Python

Converter String em Double em Python

Este tutorial demonstra como converter um tipo de string em uma variável numérica com precisão dupla em Python

Neste tutorial, falaremos sobre as várias maneiras de converter uma string em uma variável numérica com a precisão equivalente ao tipo duplo em Python. Ao contrário de outras linguagens de programação como C, C++ e Java, Python não tem nenhuma variável de tipo duplo. Mas o tipo float em Python tem a mesma precisão que double em outras linguagens de programação.

Também podemos converter um número ou número de ponto flutuante armazenado como string em um tipo decimal Python. O tipo decimal pode ter a precisão necessária para um problema e armazenar valores numéricos exatos, ao contrário do tipo flutuante. O tipo flutuante armazena o valor numérico como binário e não pode representar exatamente valores numéricos que não tenham uma representação exata no sistema binário como 3.3 ou 3.14 etc.

Converter uma string em um duplo em Python usando a função float()

A função float() aceita um número ou uma string como entrada e retorna o número de ponto flutuante ou um tipo float como saída.

Para converter uma string em um float, podemos passar a string para a função float(). O código de exemplo abaixo demonstra como converter uma string em um float (número de precisão dupla) usando o método float().

string = "1974.6323"
myfloat = float(string)
print(myfloat)

Resultado:

1974.6323

Converter uma string em um duplo em Python usando o método decimal.Decimal()

O método do construtor decimal.Decimal() do módulo decimal recebe um valor numérico como entrada e o converte em um tipo decimal, que pode armazenar e representar exatamente todos os valores numéricos e pode ter a precisão necessária.

Podemos passar a string que precisamos converter em um número de precisão dupla para o método Decimal() e obter uma variável do tipo decimal. O exemplo de código abaixo demonstra como usar o método Decimal() para converter uma string em um número de precisão dupla em Python.

from decimal import Decimal

string = "1974.6323"
myfloat = Decimal(string)
print(myfloat)

Resultado:

1974.6323