パソコン日記

気づいたこと まとめてみる

Pythonで小数点以下のn桁を表示する

Pythonで小数点以下の表示

Pythonを使って小数点を使った計算の結果を表示すると、桁がたくさん出てきてしまいます。例えば以下のように計算してみます。Pythonは3.x系を使用することを想定しています。

>>> n = 1/3.0
>>> print(n)
0.3333333333333333

これだと桁数が多くて見にくいです。 小数点以下n桁で表示したいですね。

例えばPythonで小数点以下2桁を表示するときはformatを使い以下のようになります。

>>> n =1/3.0
>>> print("{:.2}".format(n))
0.33

おお、簡単ですね。ところで“{:,.2}”の「:」ってなんだ? こういうことなのかな?

>>> n =1/3.0
>>> print("{0:.2}   {1:.4}".format(n,n))
0.33   0.3333

なるほど、「:」の前に数字を入れるとformatの中の数を順に処理してくれるんですね。

ところで、四捨五入されると値が変わるような数字はどうなるのでしょうか。

>>> print("{0:.2}".format(0.223))
0.22
>>> print("{0:.2}".format(0.224))
0.22
>>> print("{0:.2}".format(0.225))
0.23
>>> print("{0:.2}".format(0.226))
0.23

四捨五入してくれるみたいですね。