[Previous] [Contents] [Next]

modf(), modff()

Break a number into integral and fractional parts

Synopsis:

#include <math.h>

double modf( double value,
             double* iptr );

float modff( float value,
             float* iptr );

Library:

libm

Description:

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.

Returns:

The signed fractional part of value.

Examples:

#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

Classification:

ANSI

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes

See also:

frexp(), ldexp()


[Previous] [Contents] [Next]