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 |