Selected Reading

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 
cpp_cmath.htm
Advertisements