Pythonのformatで
・桁数
・プラスマイナス
・カンマ
・ゼロ埋め
・空白埋め
それぞれは分かるのだけど、全部指定したいとき、その順番にハマった。
説明よりも実例を見れば十分なのでご覧ください。
環境:Python3.7(Anaconda/Windows10)
f'{12345.678:+20,.6f}'
の結果は
' +12,345.678000'
「.6f」は小数点以下6桁で自然だが、
「20桁」ぽいのは「カンマの前」だし
文字全部で20「文字」ということ。
ちなみに
こんな使い方が実際必要なのかは疑問だが
f'{12345.678:+020,.6f}'
は
'+0,000,012,345.678000'
0で埋めてくれた。カンマも立派な1文字扱い。
しかし、よく数えてみると「21文字」だった。
'+,000,012,345.678000' # こうはならない
になる訳には行かないので仕方ないか・・・