2024-06-30 16:30:13 发布
网友
我想在python中以次秒精度捕获时间戳。看起来标准答案是int(time.time() * 1000)
int(time.time() * 1000)
但是,如果time.time()返回一个float,您不会有精度问题吗?有些值不能准确表示为浮点值。在
time.time()
我担心一些分数倍不能正确地表示为浮点,并且在这些情况下时间戳向前或向后跳跃。在
这是一个合理的担忧吗?在
如果是的话,有什么办法?在
你想要多精确?虽然有有限的十进制分数不能用有限的二进制分数来表示,但是只要你不给运行了143千年(2**52毫秒)的程序计时,最近的近似值将舍入到正确的整数毫秒数。在
简而言之:我不认为您需要为此担心浮点精度。不过,您可能需要担心系统计时器的准确性、精确度或单调性。在
你想要多精确?虽然有有限的十进制分数不能用有限的二进制分数来表示,但是只要你不给运行了143千年(2**52毫秒)的程序计时,最近的近似值将舍入到正确的整数毫秒数。在
简而言之:我不认为您需要为此担心浮点精度。不过,您可能需要担心系统计时器的准确性、精确度或单调性。在
相关问题 更多 >
编程相关推荐