How to check if a double variable contains an integer and not a floating point in C

1 Answer

0 votes
#include <stdio.h>
#include <math.h>

int main() {
    double d1 = 982317.0;
    double d2 = 345.98;
    double intpart;
    
    if (modf(d1, &intpart) == 0.0) {
        puts("yes");
    } else {
        puts("no");
    }
    
    if (modf(d2, &intpart) == 0.0) {
        puts("yes");
    } else {
        puts("no");
    }
    
    return 0;
}



/*
run:

yes
no

*/

 



answered Jan 29, 2024 by avibootz
edited Jan 29, 2024 by avibootz
...