Python 中的科学计数法
Manav Narula
2023年1月30日
-
在 Python 中使用
format()
函数来实现科学计数法 -
在 Python 中使用
fstrings
来表示科学记数法中的值 -
使用
numpy.format_float_scientific()
函数来表示科学符号中的数值
科学记号用于以紧凑和易懂的方式表示非常大或小的数字。这种符号也用于编程;例如,6000000 可以表示为 6E+6
。同样,0.000006
也可以表示为 6E-6
。
在本教程中,我们将讨论如何在 Python 中使用这种科学计数法。
在 Python 中使用 format()
函数来实现科学计数法
格式函数用于将字符串按特定格式进行格式化。我们可以使用这个函数将大的或小的浮动值转换为各自的指数格式,如下图所示。
no1 = float(5800000.00000)
no2 = float(0.0000058)
print(format(no1, ".1E"))
print(format(no2, ".1E"))
输出:
5.8E+06
5.8E-06
这里 .1E
是指定的格式模式。E
表示用科学记数法打印数值,.1
指定小数点后必须有一个数字。
在 Python 中使用 fstrings
来表示科学记数法中的值
在 Python 3.6 及以上版本中,我们可以使用 fstrings
来格式化字符串。这种方法被认为更精确,更不容易出错。与传统的 format()
函数相比,它提高了代码的可读性。fstrings
可以帮助表示,如下所示。
no1 = float(5800000.00000)
no2 = float(0.0000058)
print(f"{no1:.1E}")
print(f"{no2:.1E}")
输出:
5.8E+06
5.8E-06
请注意,格式模式与上述方法相同。
使用 numpy.format_float_scientific()
函数来表示科学符号中的数值
Python 中的 NumPy
模块有一个函数 format_float_scientific()
,它可以用来将一个浮点数格式化为其科学符号。
我们可以使用 precision
参数来指定总的小数位数,使用 exp_digits
来告诉指数符号中需要多少位数。其他可用的参数还有 sign
、unique
和 trim
,这些参数提供了更多的自定义功能。
该函数返回的最终结果是一个字符串。
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))
输出:
5.8e+006
5.8e-006
作者: Manav Narula
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