std::isfinite
来自cppreference.com
定义于头文件 <cmath>
|
||
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 。参数
arg | - | 浮点值 |
返回值
若 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
参阅
(C++11) |
归类给定的浮点值 (函数) |
(C++11) |
检查给定数是否为无限 (函数) |
(C++11) |
检查给定的数是否 NaN (函数) |
(C++11) |
检查给定数是否正规 (函数) |