Python:为同一个变量多次格式化占位符

时间:2014-01-29 14:37:09

标签: python string format

我想执行填充并限制将使用.format输入到字符串的变量的小数点数。我设法限制小数位,但我似乎也无法添加填充。 documentation没有多大帮助。下面是我的代码的副本。

print "Frame No. {:6d} Expected: {:7.3f}ms Actual: {:7.3f}ms Difference: {:7.3f}ms - ERROR".format(currentImage, expected_time, regression_obj.timeFromStart, (regression_obj.timeFromStart - expected_time))

此处的输出显示值之间没有足够的空格。我希望所有的值都能对齐。

Frame No.     17 Expected: 582.080ms Actual: 484.971ms Difference: -97.109ms - ERROR
Frame No.     18 Expected: 616.320ms Actual: 513.498ms Difference: -102.822ms - ERROR

预期产出;

Frame No.     17 Expected:       582.080ms Actual:     484.971ms Difference:   -97.109ms - ERROR
Frame No.     18 Expected:       616.320ms Actual:     513.498ms Difference:  -102.822ms - ERROR

1 个答案:

答案 0 :(得分:5)

使用{:9.3f}。第一个数字是整个数字的最小宽度,包括减号,小数点和十进制数字。

在您的示例中,-102.822已经是8个字符,因此当您指定宽度为7时,它将不对齐。