std::isfinite_C++中文网
| 定义于头文件 |
||
| bool isfinite( float arg ); |
(1) | (C++11 起) |
| bool isfinite( double arg ); |
(2) | (C++11 起) |
| bool isfinite( long double arg ); |
(3) | (C++11 起) |
| bool isfinite( IntegralType arg ); |
(4) | (C++11 起) |
1-3) 确定给定的浮点数 arg 是否拥有有限值,即它是正规、非正规或零,但不是无穷大或 NaN 。
4) 接受任何整数类型 arg 参数的重载集或函数模板。等价于 (2) (将参数转型为 double )。
参数
返回值
若 arg 拥有有限值则为 true ,否则为 false 。
示例
#include <iostream> #include <cmath> #include <cfloat> int main() { std::cout << std::boolalpha << "isfinite(NaN) = " << std::isfinite(NAN) << '\n' << "isfinite(Inf) = " << std::isfinite(INFINITY) << '\n' << "isfinite(0.0) = " << std::isfinite(0.0) << '\n' << "isfinite(exp(800)) = " << std::isfinite(std::exp(800)) << '\n' << "isfinite(DBL_MIN/2.0) = " << std::isfinite(DBL_MIN/2.0) << '\n'; }
输出:
isfinite(NaN) = false isfinite(Inf) = false isfinite(0.0) = true isfinite(exp(800)) = false isfinite(DBL_MIN/2.0) = true