python - 如何在 Python 中将 float 格式化为固定宽度

标签 python string numbers number-formatting

如何将 float 格式化为具有以下要求的固定宽度:

  1. 如果 n < 1,则前导零
  2. 添加尾随小数零以填充固定宽度
  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 string syntax 后面。 .具体来说,在这种情况下,它由以下部分组成:

  • 冒号前的 空字符串 表示“将下一个提供的参数传递给 format()”——在这种情况下,x 作为唯一的论据。
  • 冒号后面的 10.4f 部分是 format specification .
  • f 表示定点符号。
  • 10 是正在打印的字段的总宽度,左侧以空格填充。
  • 4是小数点后的位数。

关于python - 如何在 Python 中将 float 格式化为固定宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8885663/

相关文章:

python - 当给定网站动态更改时,如何了解我的帖子请求的最后一页索引号

python - 无法使用 SysNative 别名路径打开应用程序

python - 我无法导入带有目录的照片

python - 根据男性/女性的 csv 数量绘制图

java - 创建不必要的字符串对象

arrays - Maxima:定义一个函数,返回一个范围内的随机整数,使得该值不同于另一个值或其他值的列表

c# - 以特殊格式对字符串数组进行排序

c# - 无法使用 C# 将带 [] 的索引应用于类型为 'System.Array' 的表达式

python - 将字符串中的字母更改为字母和频率-python的数字

python - 模数如何处理大 float