trunc(), truncf(), truncl()

Updated: April 19, 2023

Round to a truncated integer value

Synopsis:

#include <math.h>

double trunc(double x);

float truncf(float x);

long double truncl(long double x);

Arguments:

x
The number that you want to truncate.

Library:

libm
The general-purpose math library.
libm-sve
(QNX Neutrino 7.1 or later) A library that optimizes the code for ARMv8.2 chips that have Scalable Vector Extension hardware.

Your system requirements will determine how you should work with these libraries:

Note: Compile your program with the -fno-builtin option to prevent the compiler from using a built-in version of the function.

Description:

The trunc(), truncf(), and truncl() functions round their argument to the integer value, in floating format, nearest to but no larger in magnitude than the argument.

To check for error situations, use feclearexcept() and fetestexcept(). For example:

Returns:

The truncated integer value. The result has the same sign as x.

If x is: These functions return: Errors:
±0.0 x
±Inf x
NaN NaN

These functions raise FE_INEXACT if the FPU reports that the result can't be exactly represented as a floating-point number.

Classification:

C11, POSIX 1003.1

Safety:  
Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes