1. ホーム
  2. python

[解決済み] Pythonで浮動小数点数を固定幅にフォーマットする方法

2022-03-23 10:50:15

質問

以下の要件で、浮動小数点数を固定幅にフォーマットするにはどうしたらよいでしょうか。

  1. n < 1の場合、先頭のゼロ
  2. 固定幅を埋めるために、末尾に小数点の0を追加する。
  3. 固定幅を超えた小数点以下の数字を切り捨てる
  4. すべての小数点を揃える

例えば

% formatter something like '{:06}'
numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]

for number in numbers:
    print formatter.format(number)

出力は次のようになります。

  23.2300
   0.1233
   1.0000
   4.2230
9887.2000

解決方法は?

numbers = [23.23, 0.1233, 1.0, 4.223, 9887.2]                                                                                                                                                   
                                                                                                                                                                                                
for x in numbers:                                                                                                                                                                               
    print("{:10.4f}".format(x)) 

印刷物

   23.2300
    0.1233
    1.0000
    4.2230
 9887.2000

中括弧の中の書式指定子は、次のようになります。 Python書式文字列の構文 . 具体的には、この場合、以下の部分から構成される。

  • 空の文字列 コロンの前にあるのは、「次の引数を format() この場合 x を唯一の引数として指定します。
  • は、その 10.4f の部分は、コロンの後に フォーマット指定 .
  • f は固定小数点表記を表す。
  • は、その 10 は、印刷されるフィールドの幅の合計で、スペースで左詰されています。
  • 4 は小数点以下の桁数です。