1. 程式人生 > >如何判斷兩個double型別的數是否相等?

如何判斷兩個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;
}