Notação científica em Python
-
Use a função
format()
para representar valores em notação científica em Python -
Use o
fstrings
para representar valores em notação científica em Python -
Use a função
numpy.format_float_scientific()
para representar valores em notação científica
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 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