我看到很多关于格式化floats
和限制小数位的问题,但我没有看到两者同时完成。我希望变量seconds
的值始终表示为SS.mmm。
我有
t = int(input('time?: '))
seconds = (t / 1000) % 60
minutes = (t // (1000 * 60)) % 60
hours = (t // (1000 * 60 * 60)) % 24
我想打印hours
,minutes
和seconds
,以便始终关注HH:MM:SS.mmm
我的尝试:
print('{}:{}:{}'.format("%02d" % hours, "%02d" % minutes, ("%.3f" % seconds).zfill(2)))
我最终得到了HH:MM:有时候是S.mmm。即使有一个前导零,我还需要两秒钟的数字。
答案 0 :(得分:3)
您应该可以使用.format()
执行以下操作:
print('{:0>2d}:{:0>2d}:{:06.3f}'.format(hours,minutes,seconds))
特别是,0>2d
强制整数hours
和minutes
的长度为2.此外,06.3f
表示整个浮点表示应为6个字符长(包括'.'
),并且在期间右侧有3个小数位。