What I mean is the following:
double d1 = 555; double d2 = 55.343;
I want to be able to tell that
d1 is an integer while
d2 is not. Is there an easy way to do it in C/C++?
double intpart; modf(value, &intpart) == 0.0
Don't convert to
int! The number
1.0e+300 is an integer too you know.
Edit: As Pete Kirkham points out, passing 0 as the second argument is not guaranteed by the standard to work, requiring the use of a dummy variable and, unfortunately, making the code a lot less elegant.