Siva
Siva

Reputation: 9101

check Equal and Not Equal conditons for double values

I am facing difficulty in comparing two double values using == and !=.

I have created 6 double variables and trying to compare in If condition.

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
}

Though my condition is a and b are equal control is going to else if part

So I have tried a.equals(b) for equal condition, Which is working fine for me.

My query here is how can I check a not equal b. I have searched the web but I found only to use != but somehow this is not working for me.

Upvotes: 6

Views: 17986

Answers (2)

Deepanshu J bedi
Deepanshu J bedi

Reputation: 1530

You can use

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

Well with double data type you can use

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

Upvotes: 2

Elliott Frisch
Elliott Frisch

Reputation: 201439

If you're using a double (the primitive type) then a and b must not be equal.

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

If .equals() works you're probably using the object wrapper type Double. Also, the equivalent of != with .equals() is

!a.equals(b)

Edit

Also,

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

(Unless I'm missing something) should just be

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

if you really want invert your test conditions and test again,

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

Or use De Morgan's Laws

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

Upvotes: 6

Related Questions