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);
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

 ``123456789101112`` ``````/* floor example */ #include /* printf */ #include /* 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 ```