我需要为我正在使用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')
这可以完成工作,但对我来说似乎非常错综复杂。有没有更好的方法来使用format()
?
答案 0 :(得分:3)
您只需使用对齐方式添加.#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')