---
name: "fegetround"
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/fegetround"
---

# fegetround(3)

floating-point rounding control

## NAME

**fegetround**, **fesetround** – floating-point rounding control

## LIBRARY

Math Library (libm, -lm)

## SYNOPSIS

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

**#pragma STDC FENV\_ACCESS ON**

*int*\

**fegetround**(*void*);

*int*\

**fesetround**(*int round*);

## DESCRIPTION

The **fegetround**() function determines the current floating-point rounding mode, and the **fesetround**() function sets the current rounding mode to *round*. The rounding mode is one of FE\_TONEAREST, FE\_DOWNWARD, FE\_UPWARD, or FE\_TOWARDZERO, as described in [fenv(3)](/fenv/3.md).

## RETURN VALUES

The **fegetround**() routine returns the current rounding mode. The **fesetround**() function returns 0 on success and non-zero otherwise; however, the present implementation always succeeds.

## SEE ALSO

[fegetmode(3)](/fegetmode/3.md), [fenv(3)](/fenv/3.md), [fesetmode(3)](/fesetmode/3.md), [fpgetround(3)](/fpgetround/3.md), [fpsetround(3)](/fpsetround/3.md)

## STANDARDS

The **fegetround**() and **fesetround**() functions conform to ISO/IEC 9899:1999 (“ISO C99”).

## HISTORY

These routines first appeared in FreeBSD 5.3. They supersede the non-standard [fpgetround(3)](/fpgetround/3.md) and [fpsetround(3)](/fpsetround/3.md) functions.
