我有在C++,Visualstudio中比較NAN值的問題。 我需要在我的代碼中處理零分區。 如果我得到零除,我想分配NAN結果。 在稍後的時間點檢查,結果是否爲NAN。 但是,在稍後的時間點,NAN比較失敗,即使我按如下所示分配了quiet_Nan()。如何知道雙變量中NAN值的存在?
double d = std::numeric_limits<double>::quiet_NaN();
if(d == std::numeric_limits<double>::quiet_NaN())
{
cout<<" NAN ";
}
else
{
cout<<" Number";
}
我知道無法比較浮動值是否相等。我嘗試了d和quiet_Nan()之間的差異,並嘗試使用<運算符與浮點數進行比較。 我看到了幾個帖子,但無法得到如何比較雙重價值。
如何知道雙變量中NAN值的存在?
通常會有一些函數稱爲'isNan'或其他東西。 – leppie 2010-08-19 10:55:20
[在C++中檢查雙精度(或浮點數)是否爲可能的重複](http://stackoverflow.com/questions/570669/checking-if-a-double-or-float-is-nan-in-c ) – kennytm 2010-08-19 12:02:23