[英]Formatting float in python also before the decimal separator
我正在格式化浮点数,如下所示:
logFile.write("Loadcase: %6i %2i %4i %2.2f %2.2f %4f + %4f -> " %(i, freq, amp, cutoff, end_time, penalty_inc, stab_inc))
结果是这样的:
Loadcase: 5001 1 50 19.00 20.00 0.000000 + 0.000000 -> 0.495386 (ok)
Loadcase: 5002 2 50 9.50 10.00 0.000000 + 0.000000 -> 0.255045 (ok)
Loadcase: 5003 3 50 6.33 6.67 0.000000 + 0.000000 -> 0.151464 (ok)
Loadcase: 5005 5 50 3.80 4.00 0.000000 + 0.000000 -> 0.116979 (ok)
Loadcase: 5010 10 50 1.90 2.00 0.000000 + 0.000000 -> 0.081181 (ok)
我只是希望浮点数正确对齐,并在必要时插入一些空格。 我真的基本上希望桌子很好地对齐。 我对 %2.2f 的猜测似乎被忽略了。
由于技术原因,我不能使用 numpy。
您误解了%2.2f
含义。 这表示“给浮点数总共2列,并在小数点后显示2个位置”。 也许您想要%5.2f
代替。
格式字符串"%4.2f"
说:在小数点后加2位数字的格式, 完整字符串至少使用4个字符。 所以
"%4.2f" % 1.1 --> " 1.1"
"%4.2f" % 11.1 --> "11.1"
"%4.2f" % 111.1 --> "111.1"
在您的情况下,您已将上述4
设置为足够高。
我正在使用 pycharm 专业版
这是我从摄氏度转换华氏度的代码
def temperature():
print("Celsius_Degree Fahrenheit_Degree")
print("============== =================")
for Celsius in range(0, 101, 1):
fahrenheit = (9/5) * Celsius + 32
print("{:>5.1f} C {:>5.1f} F".format(Celsius, fahrenheit))
温度()
因此,当我将 :>5.1f 更改为 %5.1f 时,为什么会出现 KeyError: '%5'
我已经添加了错误的2输出截图以及没有错误的截图,请解释; 我很困惑我应该使用哪个 %5.1f 或 :>5.1f写入 %5.1f 时出错 写入时没有错误 :>5.1f
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.