缺少str.format()行为的类型

时间:2011-02-10 06:31:54

标签: python printing format

根据Python文档here,当退出类型时,默认为浮点参数的类型为'g'。

然而,

print("{0:.2}".format(14.9))

打印“1.5e + 01”,而

print("{0:.2g}".format(14.9))

打印“15”

这仅仅是文档不正确的问题还是其他原因?

2 个答案:

答案 0 :(得分:5)

根据source code,这是一个文档错误。没有浮点说明符的行为的正确描述是“像'g',但在小数点后总是至少有一位数。”

答案 1 :(得分:1)

您链接了Python 2.7的文档,但实际上您使用的是Python 3.x.在documentation of Python 3.x中,行为已正确记录。

无论如何,Python 2.7文档都有问题:

>>> "{0:.2}".format(14.9)
'15.0'

>>> "{0:.2g}".format(14.9)
'15'