return integral and fractional parts

You're viewing an older version of this page (#3437). View the current version.

View versions (4)

INTERFACE

#include <math.h>

double modf ( double value, double *iptr ) long modfl ( long double value, long double *iptr ) float modff ( float value, float *iptr )

DESCRIPTION

The modf functions break value into the integral and fractional parts, each of which has the same sign as the argument. They return the fractional part, and store the integral part (as a floating-point number) in the object pointed to by iptr.

Example 1

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

int main()
{
  double x = 31415.9265, fractional, integer;
  fractional = modf(x, &integer);
  printf("%.4lf = %.4lf + %.4lf\n", x, integer, fractional);
  return 0;
}

Output:

31415.9265 = 31415.0000 + 0.9265

SPECIAL VALUES

modf ( &plusmn;&infin;, iptr) returns &plusmn;0 and stores &plusmn;&infin; in the object pointed to by iptr.
modf ( NaN, iptr) returns a NaN and stores a NaN in the object pointed to by iptr.

SEE ALSO

frexp, ldexp

STANDARDS

The modf functions conform to ISO/IEC 9899:1999(E).