Python3.x:格式浮动到2位,限制为3个小数位

时间:2017-08-01 21:46:39

标签: python time floating-point format

我看到很多关于格式化floats和限制小数位的问题,但我没有看到两者同时完成。我希望变量seconds的值始终表示为SS.mmm。

我有

t = int(input('time?: '))
seconds = (t / 1000) % 60
minutes = (t // (1000 * 60)) % 60
hours = (t // (1000 * 60 * 60)) % 24

我想打印hoursminutesseconds,以便始终关注HH:MM:SS.mmm

我的尝试:

print('{}:{}:{}'.format("%02d" % hours, "%02d" % minutes, ("%.3f" % seconds).zfill(2)))

我最终得到了HH:MM:有时候是S.mmm。即使有一个前导零,我还需要两秒钟的数字。

1 个答案:

答案 0 :(得分:3)

您应该可以使用.format()执行以下操作:

print('{:0>2d}:{:0>2d}:{:06.3f}'.format(hours,minutes,seconds))

特别是,0>2d强制整数hoursminutes的长度为2.此外,06.3f表示整个浮点表示应为6个字符长(包括'.'),并且在期间右侧有3个小数位。