检查double值的Equal和Not Equal条件

时间:2014-07-23 05:49:16

标签: java android double

我在使用double values==比较两个!=时遇到了困难。

我创建了6个双变量并尝试在If条件下进行比较。

double a,b,c,d,e,f;

if((a==b||c==d||e==f))
{
//My code here in case of true condition
}
else if ((a!=b||c!=d||e!=f))
{
//My code here in case false condition
}

虽然我的条件是a and b are equal,但控件将转到else if部分

所以我尝试了a.equals(b)同等条件,这对我来说很好。

我的查询是如何查看a not equal b。我在网上搜索过,但我发现只能使用!=但不知何故这对我不起作用。

2 个答案:

答案 0 :(得分:5)

如果您使用double(原始类型),那么ab必须不相等。

double a = 1.0;
double b = 1.0;
System.out.println(a == b);

如果.equals()有效,您可能正在使用对象包装器类型Double。此外,!=.equals()的等效值为

!a.equals(b)

修改

此外,

else if ((a!=b||c!=d||e!=f))
{
  //My code here in case false condition
}

(除非我错过了什么)应该只是

else 
{
  //My code here in case false condition
}

如果你真的想要反转你的测试条件再次测试,

 else if (!(a==b||c==d||e==f))

或使用De Morgan's Laws

 else if (a != b && c != d && e != f)

答案 1 :(得分:2)

您可以使用

 !a.equals(b) || !c.equals(d) || !e.equals(f)

使用双数据类型,您可以使用

 ==,!= (you should try to use these first.. )