---
name: "truncf"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/trunc"
---

# truncf(3)

nearest integral value with magnitude less than or equal to \|x\|

Part of [trunc(3)](/trunc/3.md).

## NAME

**trunc**, **truncf**, **truncl** – nearest integral value with magnitude less than or equal to \|x\|

## LIBRARY

Math Library (libm, -lm)

## SYNOPSIS

**#include \<math.h\>**

*double*\

**trunc**(*double x*);

*float*\

**truncf**(*float x*);

*long double*\

**truncl**(*long double x*);

## DESCRIPTION

The **trunc**(), **truncf**(), and **truncl**() functions return the nearest integral value with magnitude less than or equal to \|*x*\|. They are equivalent to **rint**(), **rintf**(), and **rintl**(), respectively, in the FE\_TOWARDZERO rounding mode.

## SEE ALSO

[ceil(3)](/ceil/3.md), [fesetround(3)](/fesetround/3.md), [floor(3)](/floor/3.md), [math(3)](/math/3.md), [nextafter(3)](/nextafter/3.md), [rint(3)](/rint/3.md), [round(3)](/round/3.md)

## STANDARDS

The **trunc**(), **truncf**(), and **truncl**() functions conform to ISO/IEC 9899:1999 (“ISO C99”).

## HISTORY

These routines first appeared in FreeBSD 5.3.
