Notação científica em Python

Manav Narula 30 janeiro 2023
  1. Use a função format() para representar valores em notação científica em Python
  2. Use o fstrings para representar valores em notação científica em Python
  3. Use a função numpy.format_float_scientific() para representar valores em notação científica
Notação científica em Python

A notação científica é usada para representar números muito grandes ou pequenos de uma forma compacta e compreensível. Essa notação também é usada na programação; por exemplo, 6000000 pode ser representado como 6E+6. Da mesma forma, 0.000006 pode ser representado como 6E-6.

Neste tutorial, discutiremos como usar essas notações científicas em Python.

Use a função format() para representar valores em notação científica em Python

A função de formato é usada para formatar strings em um formato específico. Podemos usar esta função para converter valores float grandes ou pequenos em seus respectivos formatos exponenciais, conforme mostrado abaixo:

no1 = float(5800000.00000)
no2 = float(0.0000058)
print(format(no1, ".1E"))
print(format(no2, ".1E"))

Resultado:

5.8E+06
5.8E-06

Aqui, .1E é o padrão de formatação especificado. E indica notação exponencial para imprimir o valor em notação científica e .1 especifica que deve haver um dígito após o decimal.

Use o fstrings para representar valores em notação científica em Python

No Python 3.6 e superior, podemos usar fstrings para formatar strings. Este método é considerado mais preciso e menos sujeito a erros. Ele melhora a legibilidade do código em comparação com a função tradicional format(). fstrings pode ajudar na representação, como mostrado abaixo.

no1 = float(5800000.00000)
no2 = float(0.0000058)
print(f"{no1:.1E}")
print(f"{no2:.1E}")

Resultado:

5.8E+06
5.8E-06

Observe que o padrão de formato é igual ao método acima.

Use a função numpy.format_float_scientific() para representar valores em notação científica

O módulo NumPy em Python tem uma função format_float_scientific() que pode ser usada para formatar um valor flutuante em sua notação científica.

Podemos usar o parâmetro precision para especificar o total de dígitos decimais e exp_digits para dizer quantos dígitos são necessários na notação exponencial. Outros parâmetros disponíveis são sign, unique e trim, que oferecem mais personalizações.

O resultado final retornado desta função é uma string.

import numpy as np

no1 = float(5800000.00000)
no2 = float(0.0000058)

print(np.format_float_scientific(no1, precision=1, exp_digits=3))
print(np.format_float_scientific(no2, precision=2, exp_digits=3))

Resultado:

5.8e+006
5.8e-006
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artigo relacionado - Python String