【发布时间】:2020-09-29 13:57:45
【问题描述】:
我正在使用 Catch v2.13.1
比较浮点值的正确方法是什么。我以为下面会失败,但都通过了。
REQUIRE(1147332687.7189338 == Approx(1147332688.4281545).margin(0.0001));
REQUIRE(1147332687.7189338 == Approx(1147332688.4281545));
然而这如预期的那样失败了
REQUIRE(abs(1147332687.7189338 - 1147332688.4281545) <= Approx(0).margin(0.0001));
我不明白为什么前两个语句不起作用
【问题讨论】:
-
很遗憾无法运行your example on godbolt,它应该可以工作。
标签: c++ catch-unit-test catch2