web-dev-qa-db-ja.com

Pythonに小数点以下2桁の浮動小数点数を表示します

Float引数(通常は有効数字1桁の整数または小数)をとる関数があり、小数点以下2桁(5-> 5.00、5.5-> 5.50など)の文字列で値を出力する必要があります。 Pythonでこれを行うにはどうすればよいですか?

91
MarathonStudios

そのために文字列フォーマット演算子を使用できます:

>>> '%.2f' % 1.234
'1.23'
>>> '%.2f' % 5.0
'5.00'

演算子の結果は文字列なので、変数に保存したり、印刷したりできます。

122
NPE

この投稿はしばらくここにあるかもしれないので、python 3構文も指摘しましょう。

"{:.2f}".format(5)
217
Daren Thomas

f-string フォーマット:

これはPython 3.6の新機能です-文字列は通常の引用符で囲まれ、生の文字列のf'...と同じようにr'...が先頭に追加されます。次に、文字列、変数、数値、および中括弧の中に入れたいものは何でも配置します。f'some string text with a {variable} or {number} within that text'-およびPythonは、以前の文字列フォーマット方法と同様に評価します。

>>>a = 3.141592
>>>print(f'My number is {a:.2f} - look at the Nice rounding!')

My number is 3.14 - look at the Nice rounding!

この例では、以前の文字列フォーマット方法と同様の方法で 小数点以下の桁数でフォーマット を確認できます。

NB aには、数値、変数、または式(f'{3*my_func(3.14):02f}'など)を使用できます。

今後、新しいコードでは、f-stringsは多くの faster であるため、一般的な%sまたはstr.format()メソッドよりもf-stringsを優先する必要があります。

36
toonarmycaptain

文字列のフォーマット:

print "%.2f" % 5
6
bradley.ayers

python文字列フォーマットを使用します。

>>> "%0.2f" % 3
'3.00'
4
kevpie

数字だけを表示するのではなく、実際に数字自体を変更したい場合は、format()を使用します。

小数点以下2桁にフォーマットします。

format(value, '.2f')

example:

>>> format(5.00000, '.2f')
'5.00'
1
Josh

これは古い質問ですが、自分で答えを見つけるのに苦労していました。ここに私が思いついたものがあります:

Python 3:


num_dict = { 'num': 0.123, 'num2':0.127}
"{0[num]:.2f}_{0[num]:.2f}".format(num_dict)

#output:  
0.12_0.13

Python 3構文の使用:

print('%.2f' % number)
1
S. Roelofs