3

我想在 python 中以亚秒精度捕获时间戳。看起来标准答案是int(time.time() * 1000)

但是,如果time.time()返回一个浮点数,你不会有精度问题吗?会有一些值不能准确地表示为浮点数。

我担心一些不能正确表示为浮点数的小数时间,以及在这些情况下时间戳向前或向后跳跃。

这是一个有效的担忧吗?

如果是这样,解决方法是什么?

4

1 回答 1

3

你想要多少精度?虽然确实存在不能表示为有限二进制分数的有限十进制分数,但只要您不为运行 143 千年的程序计时,最接近的近似值就会四舍五入到正确的整数毫秒数( 2**52 毫秒)。

简而言之:我认为您无需为此担心浮点精度。不过,您可能需要担心系统计时器的准确性、精度或单调性。

于 2012-11-08T00:53:02.393 回答