web-dev-qa-db-ja.com

パッドpython floats

小数点以下3単位が常に存在するように、いくつかのパーセンテージ値を埋めたいと思います。 intsでは '%03d'を使用できます-floatに相当するものはありますか?

'%.3f'は小数点以下で機能しますが、 '%03f'は何もしません。

25
hoju

'%03.1f'は機能します(1は任意の数値、または空の文字列にすることができます):

>>> "%06.2f"%3.3
'003.30'

>>> "%04.f"%3.2
'0003'

フィールド幅には10進数と小数桁が含まれることに注意してください。

43
Jonathan Graehl

または、.formatを使用する場合:

              {:6.1f}
                ↑ ↑ 
                | |
# digits to pad | | # of decimal places to display

コピーパスタ:{:6.1f}

使用例:

'Num: {:6.1f}'.format(number)
13

Zfillも使用できます。

str(3.3).zfill(5)
'003.3'
8
Mark

短い例:

var3= 123.45678
print(
    f'rounded1    \t {var3:.1f} \n' 
    f'rounded2    \t {var3:.2f} \n' 
    f'zero_pad1   \t {var3:06.1f} \n'  #<-- important line
    f'zero_pad2   \t {var3:07.1f}\n'   #<-- important line
    f'scientific1 \t {var3:.1e}\n'
    f'scientific2 \t {var3:.2e}\n'
)

出力を提供します

rounded1         123.5 
rounded2         123.46 
zero_pad1        0123.5 
zero_pad2        00123.5
scientific1      1.2e+02
scientific2      1.23e+02
0
Kolibril