如何判断 double/float 变量是否有效 (#IND, #INF)

您所在的位置:网站首页 c++判断double是否为0 如何判断 double/float 变量是否有效 (#IND, #INF)

如何判断 double/float 变量是否有效 (#IND, #INF)

2024-07-11 03:26| 来源: 网络整理| 查看: 265

C/C++程序运行有时候会出现-1.#IND0, +1.#IND0, +1.#INF0, -1.#INF0. 一般来说是除数为0得出的结果,INF就是infinite,就是无穷大的意思;IND可能表示很小,不确定。

使用类似于pow, exp等等函数时常会产生一个无效数字1.#IND00.

其实解决办法很简单,使用   float.h中一个函数_isnan即可: int _isnan(double x);  //此函数只能判断是否是-1.#IND0, +1.#IND0.

当x是一个无效值(NaN, Not a Number) 时,返回非零值,否则返回0。

float.h中还有应该函数_finite(),可以判断是否是+1.#INF0, -1.#INF0.

int _finite( double x );

_finite returns a nonzero value if its argument x is not infinite; that is, if –INF



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3