Python整数格式化

The*_*age 5 python string-formatting

我想知道在格式化整数时是否可以一起使用两种格式选项.

我知道我可以使用波纹管包含零位

varInt = 12

print(
    "Integer : " +
    "{:03d}".format(varInt)
)
Run Code Online (Sandbox Code Playgroud)

获得输出"整数:012"

我可以使用以下内容来包含小数位

varInt = 12

print(
    "Integer : " +
    "{:.3f}".format(varInt)
)
Run Code Online (Sandbox Code Playgroud)

获得输出"整数:12.000"

但是可以将它们一起使用以获得输出"Integer:012.000"

And*_*ndy 8

varInt = 12

print(
    "Integer : " +
    "{:07.3f}".format(varInt)
)
Run Code Online (Sandbox Code Playgroud)

输出:

Integer : 012.000
Run Code Online (Sandbox Code Playgroud)

7是字段宽度并包括小数点.


GP8*_*P89 5

当然,开头的数字是输出字符串的最小长度,因此也应包括小数部分和小数点。

>>> "{:07.3f}".format(12)
'012.000'
Run Code Online (Sandbox Code Playgroud)


Joh*_*ooy 5

您不仅可以像这样指定最小长度和小数点:

"{:07.3f}".format(12)
Run Code Online (Sandbox Code Playgroud)

您甚至可以将它们作为参数提供,如下所示:

"{:0{}.{}f}".format(12, 7, 3)
Run Code Online (Sandbox Code Playgroud)