📅  最后修改于: 2023-12-03 14:39:57.149000             🧑  作者: Mango
在C++中,isfinite()是一个非常实用的函数,用于判断一个浮点数是否为有限的(即非无穷大,非NaN),返回值为bool类型。isfinite()函数可以避免一些数学运算中的错误和程序崩溃。
bool isfinite(float arg);
bool isfinite(double arg);
bool isfinite(long double arg);
参数arg为需要判断的浮点数。
当arg为有限浮点数(非无穷大,非NaN)时返回true,否则返回false。
下面是一个使用isfinite()函数的示例:
#include <iostream>
#include <cmath>
int main() {
double a = 1.0 / 0.0; // 无穷大
double b = sqrt(-1); // NaN
double c = 3.14;
std::cout << std::boolalpha << std::isfinite(a) << std::endl; // false
std::cout << std::boolalpha << std::isfinite(b) << std::endl; // false
std::cout << std::boolalpha << std::isfinite(c) << std::endl; // true
return 0;
}
运行结果为:
false
false
true
isfinite()函数可以很方便地判断一个浮点数是否为有限的,避免一些数学运算中的错误和程序崩溃。在实际编程中,建议在进行数学计算前先使用isfinite()函数进行判断,以保证程序的正确性和稳定性。