Python中使用{0:+03.6f}格式化输出补零失效问题求助
解决Python字符串格式化补零对齐问题
你遇到的问题是格式化字符串的宽度设置错误:{0:+03.6f}中的3是总宽度,但这个值远小于实际需要的字符长度(符号+整数补零位+小数点+6位小数),导致补零逻辑无法按预期生效。
要实现整数部分补零到3位的对齐效果,需要将总宽度设置为11(1位符号+3位整数补零+1位小数点+6位小数),对应的格式化字符串为{0:+011.6f}。
修改后的代码:
output.write("N = 1 Regression:\n") output.write("a = {0:+011.6f}\n".format(T_fit_N1params[0])) output.write("b1 = {0:+011.6f}\n".format(T_fit_N1params[1])) output.write("tau1 = {0:+011.6f}\n".format(T_fit_N1params[2])) output.write("R2 = {0:+011.6f}\n".format(R2(T_data, T_fit_N1)))
修改后输出将与你的期望一致:
N = 1 Regression:
a = +011.685376
b1 = +075.493626
tau1 = +002.452343
R2 = +000.978152
内容的提问来源于stack exchange,提问作者Jacob Ivanov
相关产品推荐
相关产品推荐

