Python中的浮点格式化

时间:2014-12-31 09:56:12

标签: python formatting

在做这个练习时:

>>> amount = 24.325    
>>> print("%7f" % amount)
>>> 24.325000

我不明白为什么不打印' 24.325' (在号码前面有1个空格)它只增加了3个' 0' 0并没有向右移动它。

所以我想也许,当你没有指定精度时,Python会添加' 0'直到该数字在小数点后至少有6位数(如果它还没有它们)并且THAN考虑我设置的宽度(在这种情况下为7)并添加所需的空格。在练习中,使用额外的' 0,它最终会有9位数,所以它没有添加任何数字。我的假设是否正确?

问题是,为什么小数点后6位?这是Python默认执行的操作吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

python docs准确描述了格式化运算符%的工作原理。

特别是,您可以拥有一个精度最小的字段。

前者定义了结果字符串的最小长度,后者给出了小数点后的位数。

%f的默认精度为6,即可获得所需内容。