为什么我需要time()函数的round()函数?

时间:2015-04-30 15:15:16

标签: python

以下是我经常看到的代码示例:

import time
def gettime():
    return int(round(time.time()*1000))

在这种情况下,在此代码中使用round()的原因是什么? <{1}}总是在小数点后返回1-2位数,因此time.time()函数似乎没用。

2 个答案:

答案 0 :(得分:6)

无用,我系统中的time.time()返回类似的内容:

1430407063.751232

乘以1000返回:

1430407063751.232

round将此内容舍入到1430407063751.0,但如果是1430407063751.532,则会将其四舍五入为1430407063752.0

time.time()

  

返回自纪元以来的秒数作为浮点数。请注意,即使时间总是作为浮点数返回,但并非所有系统都提供的精度高于1秒。虽然此函数通常返回非递减值,但如果在两次调用之间设置了系统时钟,则它可以返回比先前调用更低的值。

答案 1 :(得分:2)

一个原因可能是,某些系统没有返回毫秒,因此您在所有系统上都有相同的行为。举个例子:

>>> time.time()
1430407091.766831
>>> round(time.time())
1430407097.0

在某些系统上,运行于1430407097.0的Python将是“正常”返回值。