Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Checking if a double (or float) is NaN in C++
In this article we will check whether a double or floating point number is NaN (Not a Number) in C++.
Checking if a Double or Floating Point Number is NaN
To check, we can utilise the isnan() method. The isnan() function is available in the cmath library. This function was introduced in C++ version 11. So From C++11 next, we can use this function.
The isnan() function is used to determine whether a double or floating point number is not-a-number (NaN) value. Return true if num is NaN, false otherwise.
C++ Program to Check Double or Float Number is NaN
In the following example, we are checking a floating point and double number is NaN using the isnan() function in C++:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
// Produces NaN
float floatValue = sqrt(-1.0f);
// Also produces NaN
double doubleValue = 0.0 / 0.0;
// Check float
if (isnan(floatValue)) {
cout << "floatValue is NaN." << endl;
} else {
cout << "floatValue is valid." << endl;
}
// Check double
if (isnan(doubleValue)) {
cout << "doubleValue is NaN." << endl;
} else {
cout << "doubleValue is valid." << endl;
}
return 0;
}
Following is the output:
floatValue is NaN. doubleValue is NaN.
Advertisements