我想在python中捕获亚秒精度的时间戳。看起来标准答案是int(time.time() * 1000)
但是,如果time.time()
返回一个浮动,你会不会遇到精度问题?将有一些值不能准确表示为浮点数。
我担心一些不能正确表示为浮点数的小数时间,以及在这些情况下向前或向后跳跃的时间戳。
这是一个有效的问题吗?
如果是这样,那么解决方法是什么?
答案 0 :(得分:3)
你想要多少精度?虽然确实存在有限的小数部分无法表示为有限二进制分数,但只要您没有计算运行143千年的程序,最接近的近似值将四舍五入到正确的整数毫秒数( 2 ** 52毫秒)。
简而言之:我不认为您需要担心浮点精度。但是,您可能需要担心系统计时器的准确性,精确度或单调性。