Break a number into integral and fractional parts
#include <math.h>
double modf( double value,
double* iptr );
float modff( float value,
float* iptr );
The modf() and modff() functions break the given value into integral and fractional parts, each of which has the same sign as the argument. They store the integral part as a double in the object pointed to by iptr.
The signed fractional part of value.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main( void )
{
double integral_value, fractional_part;
fractional_part = modf( 4.5, &integral_value );
printf( "%f %f\n", fractional_part, integral_value );
fractional_part = modf( -4.5, &integral_value );
printf( "%f %f\n", fractional_part, integral_value );
return EXIT_SUCCESS;
}
produces the output:
0.500000 4.000000 -0.500000 -4.000000
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | No |
| Thread | Yes |