小编Inq*_*tor的帖子

如何比较catch2中的浮点数

我正在使用 Catch v2.13.1

比较浮点值的正确方法是什么?我以为下面的会失败,但都通过了。

REQUIRE(1147332687.7189338 == Approx(1147332688.4281545).margin(0.0001));
REQUIRE(1147332687.7189338 == Approx(1147332688.4281545));
Run Code Online (Sandbox Code Playgroud)

然而这按预期失败了

REQUIRE(abs(1147332687.7189338 - 1147332688.4281545) <= Approx(0).margin(0.0001));
Run Code Online (Sandbox Code Playgroud)

我不明白为什么前两个语句不起作用

c++ catch-unit-test catch2

8
推荐指数
1
解决办法
8792
查看次数

标签 统计

c++ ×1

catch-unit-test ×1

catch2 ×1