Python の指数表記
-
format()
関数を使った Python の指数表記での値の表現 -
Python で指数表記で値を表現するには
fstrings
を使用する -
関数
numpy.format_float_scientific()
を用いて値を指数表記で表ま
指数表記は、非常に大きな数や小さな数をコンパクトでわかりやすく表現するために使われます。このような表記法はプログラミングでも使用されており、例えば 6000000 は 6E+6
と表現できます。同様に、0.000006
は 6E-6
と表現できます。
このチュートリアルでは、Python でこのような指数表記を使用する方法を説明します。
format()
関数を使った 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
は小数点以下に 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
を用いて 10 進数の総桁数を指定し、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 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