Java 检查双值的等于和不等于条件

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/24902801/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-14 15:28:56  来源:igfitidea点击:

check Equal and Not Equal conditons for double values

javaandroiddouble

提问by Siva

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

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

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

我创建了 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
}

Though my condition is a and b are equalcontrol is going to else ifpart

虽然我的情况是a and b are equal控制将要else if分开

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

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

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.

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

采纳答案by Elliott Frisch

If you're using a double(the primitive type) then aand bmust not be equal.

如果您使用的是double(原始类型),则aandb不能相等。

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

如果.equals()可行,您可能正在使用对象包装器类型Double。此外,!=与 with的等价物.equals()

!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 andtest again,

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

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

Or use De Morgan's Laws

或使用德摩根定律

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

回答by Deepanshu J bedi

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.. )