[英]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.