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