如何检查数字是否为零?

时间:2014-01-12 07:14:46

标签: c++ types

if(number == 0) {
 //do something
}

由于零在C ++中的计算结果为false,如果数字为零,则if条件为false。 如何检查它是否真的是零?

2 个答案:

答案 0 :(得分:2)

存在一种误解,例如:if语句不是0常量或number的值,而是operator==的返回值。< / p>

如果数字或0本身等同于“假”,则该点不是,但如果==返回true,则返回true。如果操作数具有相同的值,则返回true。

就整数类型促销工作而言,上述断言适用于任何一对整数类型。

如果number是其他内容,那么所有内容都与numberint之间的公共类型的可转换性相关(因为0是一个int),而“{精度”就是{ {1}}值可能具有,或者在两种类型之间实现number

答案 1 :(得分:0)

如果number是浮点数,您可能会遇到一些麻烦。如果这是你的情况,只需要与零之间的合理小数进行比较。看一下这篇文章http://floating-point-gui.de/errors/comparison/我确定你可以更好地理解这个问题。 琐碎的例子:

#define epsilon 0.0001;
if( fabs(number) < epsilon ){
   ....
}

选择正确的epsilon可能会很棘手,具体取决于应用程序。

相关问题