使用 format() 圆整、对齐和打印浮点数列表

Gab*_*iel 5 python format string-formatting

我需要将几个浮点数写入我正在使用该format()方法的文件。我想要的是将浮点数四舍五入到给定的小数位数并同时将它们对齐。

这是一个 MWE:

a = 546.35642
b = 6785.35416
c = 12.5235
d = 13.643241

line = [str('{:.2f}'.format(a)),
    str('{:.4f}'.format(b)),
    str('{:.5f}'.format(c)),
    str('{:.3f}'.format(d))]

with open('format_test.dat', "a") as f_out:
    f_out.write('''{:>10} {:>15} {:>16} {:>15}'''.format(*line))
    f_out.write('\n')
Run Code Online (Sandbox Code Playgroud)

这完成了工作,但对我来说似乎非常复杂。有没有更好的方法来做到这一点format()

Set*_*ton 4

.#f您只需在格式中添加对齐即可。

with open('format_test.dat', "a") as f_out:
    f_out.write('''{:>10.2f} {:>15.4f} {:>16.5f} {:>15.3f}'''.format(a, b, c, d))
    f_out.write('\n')
Run Code Online (Sandbox Code Playgroud)