python - 在 Python 中,time.time() * 1000 是否足够精确?

标签 python time precision

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

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

我担心一些小数时间不能正确表示为 float ,并且在这些情况下时间戳向前或向后跳跃。

这是一个合理的担忧吗?

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

最佳答案

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

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

关于python - 在 Python 中,time.time() * 1000 是否足够精确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13280743/

相关文章:

integer - 缩放(长)整数时防止溢出并保持精度

java - 以给定的精度快速将double转成string

python - 如何在循环中打印特定数量的输入语句?

c++ - 为什么程序安装后的版本与 Debug模式下运行的不同?

r - 基于多个连续时间流计算行数

java - 使用 FileUtils 时只能迭代数组或 java.lang.Iterable 的实例

java - 连接字符串时从 Double 转换为 Float 时的精度?

Python字典创建错误

python - 遍历列表并更改值

python - 匹配除三个连续双引号之外的所有内容