- 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 trunc() Function
The C++ cmath trunc() function is used to remove the decimal (fractional) part of a floating-point number, leaving just the integer portion. It effectively "rounds" the number towards zero, meaning that both positive and negative values are truncated in the same way.
This function is useful when you need the whole number part of a floating-point value without any decimals.
Syntax
Following is the syntax for C++ cmath trunc() function.
double trunc(double x); or float trunc(float x); or long double trunc(long double x);
Parameters
x - The value to truncate.
Return Value
The nearest integral value that is not larger in magnitude than x (as a floating-point value).
Time Complexity
The time complexity of this function is constant, i.e.,O(1).
Example 1
In the following example, we will use the trunc() function for basic truncation of positive decimals.
#include <iostream>
#include <cmath>
int main() {
double x = 2.7;
double result = trunc(x);
std::cout << "trunc(2.7) = " << result << std::endl;
return 0;
}
Output
Output of the above code is as follows
trunc(2.7) = 2
Example 2
In this example, std::trunc() is used on a float value. The trunc() function removes the decimal portion, resulting in a truncated value.
#include <iostream>
#include <cmath>
int main() {
float value = 3.56f;
std::cout << "Truncated value of " << value << " is " << std::trunc(value) << std::endl;
return 0;
}
Output
Following is the output of the above code
Truncated value of 3.56 is 3
Example 3
In the following example, we will use the trunc() function to truncate values in an array of floating-point numbers.
#include <iostream>
#include <cmath>
#include <vector>
int main() {
std::vector<double> values = {1.75, -3.14, 2.99, -0.67, 5.5};
std::cout << "Original values: ";
for (double value : values) {
std::cout << value << " ";
}
std::cout << std::endl;
std::cout << "Truncated values: ";
for (double value : values) {
std::cout << std::trunc(value) << " ";
}
std::cout << std::endl;
return 0;
}
Output
If we run the above code it will generate the following output
Original values: 1.75 -3.14 2.99 -0.67 5.5 Truncated values: 1 -3 2 -0 5