check if double is integer c++
To check if a double is an integer in C++, you can use the std::modf
function from the <cmath>
library. Here's an example code snippet that demonstrates how to do this:
#include <iostream>
#include <cmath>
int main() {
double number = 5.0;
double integralPart;
if (std::modf(number, &integralPart) == 0.0) {
std::cout << "The number is an integer." << std::endl;
} else {
std::cout << "The number is not an integer." << std::endl;
}
return 0;
}
In the code above, we include the necessary header files <iostream>
and <cmath>
.
We declare a double
variable number
and initialize it with the value 5.0
, but you can change this value to any other double
value you want to check.
We also declare a double
variable integralPart
without initializing it. This variable will store the integral part of the number
if it is an integer.
We then use the std::modf
function which takes two arguments: the number to be checked (in this case, number
), and a pointer to a variable where the integral part will be stored (in this case, &integralPart
).
The std::modf
function returns the fractional part of the number, and if the fractional part is equal to 0.0
, it means that the number is an integer. We compare the return value of std::modf
with 0.0
using the ==
operator.
If the return value is 0.0
, we output the message "The number is an integer." using std::cout
.
If the return value is not 0.0
, we output the message "The number is not an integer." using std::cout
.
Finally, we return 0
from the main
function to indicate successful execution of the program.
When you run this program, it will output either "The number is an integer." or "The number is not an integer." depending on whether the number
is an integer or not.