在 Python 中使用 .format() 方法时如何在 {} 中使用多个参数
How do you use multiple arguments in {} when using the .format() method in Python
我想要 python 中的 table 像这样打印:
显然,我想使用 .format() 方法,但我有长浮点数,如下所示:1464.1000000000001
我需要将浮点数四舍五入,以便它们看起来像这样:1464.10
(总是两位小数,即使都是零,所以我不能使用 round() 函数)。
我可以使用 "{0:.2f}".format("1464.1000000000001")
将浮点数四舍五入,但它们不会打印成漂亮的 tables。
我可以通过 "{0:>15}.format("1464.1000000000001")
将它们变成漂亮的 tables,但它们不会四舍五入。
有没有办法做到这两点?类似于 "{0:>15,.2f}.format("1464.1000000000001")
?
你快到了,只需删除逗号(并传入浮点数,而不是字符串):
"{0:>15.2f}".format(1464.1000000000001)
见Format Specification Mini-Language section:
format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]
fill ::= <any character>
align ::= "<" | ">" | "=" | "^"
sign ::= "+" | "-" | " "
width ::= integer
precision ::= integer
type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
然后分解上面的格式:
fill: <empty>
align: < # left
sign: <not specified>
width: 15
precision: 2
type: `f`
演示:
>>> "{0:>15.2f}".format(1464.1000000000001)
' 1464.10'
请注意,对于数字,默认对齐方式为右对齐,因此可以省略 >
。
"{0:15.2f}".format(1464.1000000000001)
我总觉得这个网站对这些东西很有用:
我想要 python 中的 table 像这样打印:
显然,我想使用 .format() 方法,但我有长浮点数,如下所示:1464.1000000000001
我需要将浮点数四舍五入,以便它们看起来像这样:1464.10
(总是两位小数,即使都是零,所以我不能使用 round() 函数)。
我可以使用 "{0:.2f}".format("1464.1000000000001")
将浮点数四舍五入,但它们不会打印成漂亮的 tables。
我可以通过 "{0:>15}.format("1464.1000000000001")
将它们变成漂亮的 tables,但它们不会四舍五入。
有没有办法做到这两点?类似于 "{0:>15,.2f}.format("1464.1000000000001")
?
你快到了,只需删除逗号(并传入浮点数,而不是字符串):
"{0:>15.2f}".format(1464.1000000000001)
见Format Specification Mini-Language section:
format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type] fill ::= <any character> align ::= "<" | ">" | "=" | "^" sign ::= "+" | "-" | " " width ::= integer precision ::= integer type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
然后分解上面的格式:
fill: <empty>
align: < # left
sign: <not specified>
width: 15
precision: 2
type: `f`
演示:
>>> "{0:>15.2f}".format(1464.1000000000001)
' 1464.10'
请注意,对于数字,默认对齐方式为右对齐,因此可以省略 >
。
"{0:15.2f}".format(1464.1000000000001)
我总觉得这个网站对这些东西很有用: