我在工作中进行了一些单元测试,其中一个断言出现了一个特殊的错误。请注意,expectedValue 和 actualValue 都是双精度值。
Assert.AreEqual(expectedValue, actualValue);
例外声明它们不相等,详细说明“预期值:<6.8> 实际值:<6.8>”。
预期值是硬编码的 6.8,而实际值是使用通过我们的分类方法(例如 Equal Records 或 Jenks Natural Breaks)的数据库值制定的。
我的猜测是,差异可能是 2 个值的尾数相似,直到最低有效位。我更新了测试以包含一个 epsilon 以查找这两个值是否足够接近,但我很好奇是否有一种方法可以强制尾数与我显示该双精度的显示值相匹配。是否存在这样的尾数校正?