Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想在 python 中以亚秒精度捕获时间戳。看起来标准答案是int(time.time() * 1000)
int(time.time() * 1000)
但是,如果time.time()返回一个浮点数,你不会有精度问题吗?会有一些值不能准确地表示为浮点数。
time.time()
我担心一些不能正确表示为浮点数的小数时间,以及在这些情况下时间戳向前或向后跳跃。
这是一个有效的担忧吗?
如果是这样,解决方法是什么?
你想要多少精度?虽然确实存在不能表示为有限二进制分数的有限十进制分数,但只要您不为运行 143 千年的程序计时,最接近的近似值就会四舍五入到正确的整数毫秒数( 2**52 毫秒)。
简而言之:我认为您无需为此担心浮点精度。不过,您可能需要担心系统计时器的准确性、精度或单调性。