modf


function
<cmath>
     double modf (      double x,      double * intpart );
long double modf ( long double x, long double * intpart );
      float modf (       float x,       float * intpart );

Break into fractional and integral parts

Breaks x into two parts: the integer part (stored in the object pointed by intpart) and the fractional part (returned by the function).

Each part has the same sign as x.

Parameters

x
Floating point value.
intpart
Pointer to an object where the integral part is to be stored.


Return Value

The fractional part of x, with the same sign.

Portability

In C, only the double version of this function exists with this name.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
/* modf example */
#include <stdio.h>
#include <math.h>

int main ()
{
  double param, fractpart, intpart;

  param = 3.14159265;
  fractpart = modf (param , &intpart);
  printf ("%lf = %lf + %lf \n", param, intpart, fractpart);
  return 0;
}


Output:

3.141593 = 3.000000 + 0.141593


See also