Python 整数格式

Python integer formatting

我想知道在格式化整数时是否可以同时使用两个格式选项。

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

varInt = 12

print(
    "Integer : " +
    "{:03d}".format(varInt)
)

获取输出"Integer : 012"

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

varInt = 12

print(
    "Integer : " +
    "{:.3f}".format(varInt)
)

获取输出"Integer : 12.000"

但是是否可以同时使用它们来获得输出"Integer : 012.000"

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

>>> "{:07.3f}".format(12)
'012.000'
varInt = 12

print(
    "Integer : " +
    "{:07.3f}".format(varInt)
)

输出:

Integer : 012.000

7 是 字段宽度,包括小数点。

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

"{:07.3f}".format(12)

您甚至可以像这样将它们作为参数提供:

"{:0{}.{}f}".format(12, 7, 3)

对于来到这里格式化 f 字符串中的数字的任何人:

>>> a = 12
>>> f"{a:07.3f}"
'012.000'