格式化两位数字符串

时间:2014-09-17 20:48:26

标签: python string-formatting

我使用以下内容:

'%.2f%.2f%.2f' % (hours, minutes, seconds)
>>> 0.00:0.00:2.00

我如何强制两位数,但没有小数点,所以它是:

>>> '00:01:18'

2 个答案:

答案 0 :(得分:8)

当您真正想要f时,请不要使用d

'%02d:%02d:%02d' % (hours, minutes, seconds)

f用于浮点值,d用于整数。 02将值填零:

>>> hours, minutes, seconds = 1, 0, 42
>>> '%02d:%02d:%02d' % (hours, minutes, seconds)
'01:00:42'

您可能还想查看str.format() method,这是一种更新,更强大的语法;等效版本是:

'{:02d}:{:02d}:{:02d}'.format(hours, minutes, seconds)

答案 1 :(得分:3)

为什么你不需要工作?处理单个datetime.time

而不是单独的值
>>> from datetime import time
>>> h, m, s = 1, 2, 3
>>> t = time(h, m, s)
>>> str(t)
'01:02:03'