簡體   English   中英

如何使用 pytest 對小數位數進行近似計算?

[英]How to approx values on decimal places using pytest?

查看 文檔,它說默認情況下, approx方法計算一個數字直到小數點后 3 位,但是當我比較這個值時它返回False

pytest.approx(6.495) == 6.49  # False

我如何檢查一個數字是否約為。 到小數點內的另一個?

它並不是說默認值在小數點后三位以內,而是說在1e-6 - 或0.000001以內。

默認情況下,approx 認為在其預期值的 1e-6(即百萬分之一)的相對容差范圍內的數字是相等的。 如果期望值為 0.0,這種處理將導致令人驚訝的結果,因為只有 0.0 本身相對接近 0.0。 為了不那么令人驚訝地處理這種情況, approx 還認為其期望值的絕對容差為 1e-12 內的數字是相等的。

rel參數可用於更改認為大致相同的值:

>>> pytest.approx(6.495, rel=1e-3) == 6.49
True

暫無
暫無

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

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