使用format()四舍五入、对齐和打印浮点数列表

5 投票
1 回答
1623 浏览
提问于 2025-04-21 00:25

我需要把几个浮点数写入文件,所以我使用了 format() 方法。我想要的是把这些浮点数四舍五入到指定的小数位数,并且同时让它们对齐。

这里有一个简单的例子:

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')

这个方法可以完成任务,但我觉得它有点复杂。有没有更简单的方法可以使用 format() 来做到这一点?

1 个回答

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')

撰写回答