C++에서 부동 소수점 또는 이중 숫자가 NaN(숫자가 아님)인지 확인하려면 isnan() 함수를 사용할 수 있습니다. isnan() 함수는 cmath 라이브러리에 있습니다. 이 기능은 C++ 버전 11에 도입되었습니다. 따라서 C++11 다음부터는 이 기능을 사용할 수 있습니다.
예시
#include <cmath> #include <iostream> using namespace std; main() { if(isnan(sqrt(30))) { //square root of 30 is a floating point number cout << "Square root of 30 is not a number" <<endl; } else { cout << "Square root of 30 is a number" <<endl; } if(isnan(sqrt(-30))) { //square root of -30 is an imaginary number cout << "Square root of -30 is not a number" <<endl; } else { cout << "Square root of -30 is a number" <<endl; } }
출력
Square root of 30 is a number Square root of -30 is not a number