Native C++ _isnan()函数的应用
当表示一个double型数值不为数字时,在.net可以这样表示
double d = double.NaN;
double.NaN的原型如下:
//
// Summary:
// Represents a value that is not a number (NaN). This field is constant.
public const double NaN = 0.0 / 0.0;
在Native C++,如果想表示一个不为数字的double,可以使用下面的函数。
double GenerateNaN()
{
unsigned long nan[2]={0xffffffff, 0x7fffffff}; // code representing a NaN
return *( double* )nan;
}
判断double类型是不是NaN,可以使用_isnan()函数:
double d = GenerateNaN();
if(_isnan(d))
{
printf("d is NaN.");
}
作者:Jake Lin(Jake's Blog on 博客园)
出处:http://procoder.cnblogs.com
本作品由Jake Lin创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言。
出处:http://procoder.cnblogs.com
本作品由Jake Lin创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言。