- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <multiset >
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <unordered_multiset>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ cmath floor() Function
The C++ cmath std::floor() function is used is used to round a given floating-point number x, down to the nearest integer and returns the largest integral value that is not greater than x.
This function is particularly useful in situations where you want to ensure that a value does not go above a certain limit, such as when dealing with indices in programming or setting boundaries in calculations.
Syntax
Following is the syntax for C++ cmath floor() function.
double floor(double x); or float floor(float x); or long double floor(long double x);
Parameters
x - The floating-point number to be rounded down.
Return Value
The function returns the largest integer value that is less than or equal to the given number x.
Time Complexity
The time complexity of this function is constant, i.e.,O(1).
Example 1
The following example show's the basic usage of floor(), to round down the given floating-point number x.
#include <iostream>
#include <cmath>
int main() {
double num = 5.7;
double result = std::floor(num);
std::cout << "The floor of " << num << " is: " << result << std::endl;
return 0;
}
Output
Output of the above code is as follows
The floor of 5.7 is: 5
Example 2
The following example will demonstrate how the floor() function handles the negative value as a input.
#include <iostream>
#include <cmath>
int main() {
double num = -3.4;
double result = std::floor(num);
std::cout << "The floor of " << num << " is: " << result << std::endl;
return 0;
}
Output
Following is the output of the above code
The floor of -3.4 is: -4
Example 3
In this example, the input value 7.0 is a whole number. The floor() function returns 7, as it is already an integer. This demonstrates that floor() does not change values that are already whole numbers.
#include <iostream>
#include <cmath>
int main() {
double num = 7.0;
double result = std::floor(num);
std::cout << "The floor of " << num << " is: " << result << std::endl;
return 0;
}
Output
If we run the above code it will generate the following output
The floor of 7 is: 7