您可以使用str.format
函数显示带前导零的整数值吗?
示例输入:
"{0:some_format_specifying_width_3}".format(1)
"{0:some_format_specifying_width_3}".format(10)
"{0:some_format_specifying_width_3}".format(100)
期望的输出:
"001"
"010"
"100"
我知道基于zfill
和%
的格式化(例如'%03d' % 5
)都可以实现此目的。但是,我想要一个使用str.format
的解决方案,以保持我的代码干净和一致(我还使用datetime属性格式化字符串),并扩展我对Format Specification Mini-Language的了解。< / p>
答案 0 :(得分:184)
>>> "{0:0>3}".format(1)
'001'
>>> "{0:0>3}".format(10)
'010'
>>> "{0:0>3}".format(100)
'100'
说明:
{0 : 0 > 3}
│ │ │ │
│ │ │ └─ Width of 3
│ │ └─ Align Right
│ └─ Fill with '0'
└─ Element index
答案 1 :(得分:22)
派生自Python文档中的Format examples, Nesting examples:
>>> '{0:0{width}}'.format(5, width=3)
'005'