<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
ldexp | Generate number from significand and exponent (function) |
frexp | Get significand and exponent (function) |
|