Separates a floating-point number into integer and fraction parts #include <math.h> double modf ( double x , double *intpart ); float modff ( float x , float *intpart ); (C99) long double modfl ( long double x , long double *intpart ); (C99) The modf( ) functions analyze a floating-point number into an integer and a fraction whose magnitude is less than one. The integer part is stored in the location addressed by the second argument, and fractional part is the return value.
Exampledouble x, integer = 0.0, fraction = 0.0; x = 1.23; fraction = modf( x, &integer ); printf("%10f = %f + %f\n", x , integer, fraction ); x = -1.23; fraction = modf( x, &integer ); printf("%10f = %f + %f\n", x , integer, fraction ); The example produces the following output: 1.230000 = 1.000000 + 0.230000 -1.230000 = -1.000000 + -0.230000 See Alsofrexp( ) |