双变量条件检查是否大于或等于?
问题描述:
如何在Double变量上执行小于或等于条件检查。双变量条件检查是否大于或等于?
我有两个变量第一,第二。
Double first = 20.0;
Double second = 20.0;
if(first <= second){
//This is not going inside the if part
}
答
不确定是否属于这种情况,但浮点永远不会在内存中完全表示。虽然这两个值彼此非常接近,但可能发生的情况是第一个比第二个稍大,导致if条件为假。
+1
*它们*完全在内存中表示 - 它只是确切的值可能是对原始数据的近似值。例如,'double d = 0.1;'中表示的数字是一个确切值 - 但它不完全是0.1。 – 2010-11-19 09:53:34
是您使用的确切代码还是涉及的中间计算? – 2010-11-19 09:44:05
它看起来很好。哪里有问题? – 2010-11-19 09:44:20