如何判断两个double类型的数是否相等?

首先,浮点数在计算机中并不能精确的表示,所以在判断两个double类型的数时需要其他的手段,而不是直接

double temp1 = 0.0, temp2 = 0.0;
if (temp1 == temp2)
{
    ....
}

最好的是选择一个合适的精度,来进行判断,精度自己决定。

#define length 0.00001
int main()
{
	double a = 0.0;
	double b = 0.1;
	if (fabs(b - a) < length)
	{
		cout << "right" << endl;
	}
	else
	{
		cout << "wrong" << endl;
	}
    return 0;
}

 

你可能感兴趣的:(C语言基础知识)