<cmath> (math.h)

function
<cmath> <ctgmath>

floor

double floor (double x);
     double floor  (double x);
      float floorf (float x);
long double floorl (long double x);
     double floor (double x);
      float floor (float x);
long double floor (long double x);
     double floor (double x);
      float floor (float x);
long double floor (long double x);
     double floor (T x);           // additional overloads for integral types
Round down value
Rounds x downward, returning the largest integral value that is not greater than x.

Header <tgmath.h> provides a type-generic macro version of this function.
Additional overloads are provided in this header (<cmath>) for the integral types: These overloads effectively cast x to a double before calculations (defined for T being any integral type).

Parameters

x
Value to round down.

Return Value

The value of x rounded downward (as a floating-point value).

Example

1
2
3
4
5
6
7
8
9
10
11
12
/* floor example */
#include <stdio.h>      /* printf */
#include <math.h>       /* floor */

int main ()
{
  printf ( "floor of 2.3 is %.1lf\n", floor (2.3) );
  printf ( "floor of 3.8 is %.1lf\n", floor (3.8) );
  printf ( "floor of -2.3 is %.1lf\n", floor (-2.3) );
  printf ( "floor of -3.8 is %.1lf\n", floor (-3.8) );
  return 0;
}


Output:

floor of 2.3 is 2.0
floor of 3.8 is 3.0
floor of -2.3 is -3.0
floor of -3.8 is -4.0

See also