Skip to main content
 首页 » 编程设计

python之在 python 2.7.12 中格式化

2025年05月04日15dudu

我是一个初学者python程序员,我已经了解了打印语句中的格式说明符。所以,%3f将表示 float 的宽度应为3。 但是,在下面的代码中,输出不是这样的

import math 
print "%3f"%(math.pi) 

此代码应输出 3.1,因为我们将宽度指定为 3。 但输出是 3.141593。 我的问题:

1.指定仅宽度是否适用于整数而不适用于 float ? 2.格式化 float 时是否必须同时指定宽度和精度?

请您参考如下方法:

仅指定宽度也适用于 float 。问题是宽度也包括小数点。例如,做:

"%10f" % math.pi # '  3.141593' 

如您所见,该字符串有 10 个字符长。这里要考虑的另一件事是,默认情况下,python 将输出 6 个小数点,因此执行“%3f”与“%3.6f”相同。

>>> "%3f" % math.pi 
'3.141593' 
>>> "%3.6f" % math.pi 
'3.141593' 
>>> 

这就是您没有获得预期输出 '3.1' 的原因。要做到这一点,并了解您应该指定的先前概念:

"%3.1f" % math.pi 

或者只是:

"%.1f" % math.pi