如何判断float值有效

 1     // 一个浮点数是否有效,首先要看其是否是一个数字(是:_isnan为0),其次还要看其没有超出表示范围(是:_finite为1)
 2     // 注意_finite是有限的意思
 3     #include <float.h>
 4     CString strOut;
 5     float f;
 6     int nan, finite;
 7     
 8     f = 3;
 9     nan= _isnan(f);// 0
10     finite = _finite(f);// 1
11 
12     unsigned int cc = 0xFF800000;
13     memcpy(&f, &cc, sizeof(f));
14     nan= _isnan(f);// 0
15     finite = _finite(f);// 0
16     strOut.Format("f=%f",f);//-1.#INF00
17 
18     unsigned int ccc = 0xFFFFFFFF;       
19     memcpy(&f, &ccc, sizeof(f));
20     nan= _isnan(f);// 1
21     finite = _finite(f);// 0
22     strOut.Format("f=%f",f);//-1.#QNAN0


补:C++中是
#include <math.h>
isnan
isfinite

 

posted on 2017-10-17 08:44  any91  阅读(2174)  评论(0编辑  收藏  举报