Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

floor(), floorf()

Round down a value to the next integer

Synopsis:

#include <math.h>

double floor( double x );

float floorf( float x );

Arguments:

x
The value you want to round.

Library:

libm

Use the -l m option to qcc to link against this library.

Description:

These functions compute the largest integer <= x (rounding towards the "floor").

Returns:

The largest integer <= x.


Note: If an error occurs, these functions return 0, but this is also a valid mathematical result. If you want to check for errors, set errno to 0, call the function, and then check errno again. These functions don't change errno if no errors occurred.

Examples:

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int main( void )
{
    printf( "%f\n", floor( -3.14 ) );
    printf( "%f\n", floor( -3. ) );
    printf( "%f\n", floor( 0. ) );
    printf( "%f\n", floor( 3.14 ) );
    printf( "%f\n", floor( 3. ) );

    return EXIT_SUCCESS;
}

produces the output:

-4.000000
-3.000000
0.000000
3.000000
3.000000

Classification:

ANSI, POSIX 1003.1

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

See also:

ceil(), fmod()