簡體   English   中英

在Python中,time.time()* 1000是否足夠精確?

[英]In Python, is time.time() * 1000 precise enough?

我想在python中捕獲亞秒精度的時間戳。 看起來標准答案是int(time.time() * 1000)

但是,如果time.time()返回一個浮點數,你會不會遇到精度問題? 將有一些值不能准確地表示為浮點數。

我擔心一些不能正確表示為float的小數時間,以及在這些情況下向前或向后跳躍的時間戳。

這是一個有效的問題嗎?

如果是這樣,那么解決方法是什么?

你想要多少精度? 雖然確實有有限的小數部分不能表示為有限二進制分數,但是只要您沒有計算運行143千年的程序,最接近的近似值將四舍五入到正確的整數毫秒數( 2 ** 52毫秒)。

簡而言之:我不認為你需要擔心浮點精度。 但是,您可能需要擔心系統計時器的准確性,精度或單調性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM