首页 文章

如何在Python中将浮点数格式化为固定宽度

提问于
浏览
226

如何使用以下要求将浮动数字格式化为固定宽度:

  • 如果n <1,则前导零

  • 添加尾随小数零以填充固定宽度

  • 截断固定宽度的十进制数字

  • 对齐所有小数点

例如:

% 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

5 回答

  • 371
    for x in numbers:
        print "{:10.4f}".format(x)
    

    版画

    23.2300
        0.1233
        1.0000
        4.2230
     9887.2000
    
  • 5

    在python3中,以下工作:

    >>> v=10.4
    >>> print('% 6.2f' % v)
      10.40
    >>> print('% 12.1f' % v)
            10.4
    >>> print('%012.1f' % v)
    0000000010.4
    
  • 29

    请参阅Python 3.x format string syntax

    IDLE 3.5.1   
    numbers = ['23.23', '.1233', '1', '4.223', '9887.2']
    
    for x in numbers:  
        print('{0: >#016.4f}'. format(float(x)))  
    
         23.2300
          0.1233
          1.0000
          4.2230
       9887.2000
    
  • 0

    这已经过了几年,但是从Python 3.6(PEP498)开始,您可以使用新的 f-strings

    numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]
    
    for number in numbers:
        print(f'{number:9.4f}')
    

    Prints:

    23.2300
       0.1233
       1.0000
       4.2230
    9887.2000
    
  • 6

    在Python 3中 .

    GPA = 2.5
    print(" %6.1f " % GPA)
    

    6.1f 表示点数1位后显示如果在点后打印2位数,则应该只在 %6.2f 之后打印 %6.3f 3位数 .

相关问题