gpt4 book ai didi

java - Double 小于零的双重转换

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:04:54 24 4
gpt4 key购买 nike

Double out = otherTypes.someMethod(c, c2);
assertEquals((Double)-1.0D, out);

我收到错误“Double cannot be resolved”(assertEquals 中的 Double),除了提取变量之外,还有什么办法可以绕过它吗?

这个错误是 Java 中的还是只是非常有用的功能,不会被修复?

最佳答案

一个重要说明:由于 float 的工作方式,您永远不应该直接比较两个 double (或通常所说的 float )是否相等,如果它们的差异在指定的增量范围内,请始终进行比较:abs(double1 - double2) < delta .

JUnit 有一个 assertEquals(double expected, double actual, double delta)方法来做到这一点。也就是说,您可能应该使用类似

assertEquals(-1.0d, (double) out, 0.000001d)

在您的代码中。

例如,您可以在 Brian Goetz 的一篇文章中找到有关 float 技巧和陷阱的更多信息:"Where's your point?"

关于java - Double 小于零的双重转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/224646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com