gpt4 book ai didi

java - 比较 double 是否相等并不安全。那么如果想和0比较怎么办呢?

转载 作者:行者123 更新时间:2023-11-30 06:09:08 24 4
gpt4 key购买 nike

我知道由于二进制 double 表示,比较两个 double 的相等性并不十分安全。但我需要执行一些这样的计算:

double a;
//initializing
if(a != 0){ // <----------- HERE
double b = 2 / a;
//do other computation
}
throw new RuntimeException();

所以,double的比较并不安全,但我绝对不想除以0。这种情况下该怎么办?

我会使用BigDecimal,但它的性能不太可接受。

最佳答案

好吧,如果您的问题是除以零,那么好消息是您可以做您所拥有的事情,因为如果该值实际上不是 0,您可以除以它,即使它非常非常小。

您可以使用范围比较,将其与您想要允许的最低值进行比较,例如a >= 0.0000000000001 或类似的值(如果它始终为正)。

关于java - 比较 double 是否相等并不安全。那么如果想和0比较怎么办呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38573971/

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