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

# modf(3)

extract signed integral and fractional values from floating-point number

## NAME

**modf**, **modff**, **modfl** – extract signed integral and fractional values from floating-point number

## LIBRARY

Math Library (libm, -lm)

## SYNOPSIS

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

*double*\

**modf**(*double value*, *double \*iptr*);

*float*\

**modff**(*float value*, *float \*iptr*);

*long* *double*\

**modfl**(*long double value*, *long double \*iptr*);

## DESCRIPTION

The **modf**(), **modff**(), and **modfl**() functions break the argument *value* into integral and fractional parts, each of which has the same sign as the argument. It stores the integral part as a floating point number in the object pointed to by *iptr*.

## RETURN VALUES

These functions return the signed fractional part of *value*.

## SEE ALSO

[frexp(3)](/frexp/3.md), [ldexp(3)](/ldexp/3.md), [math(3)](/math/3.md)

## STANDARDS

The **modf**(), **modff**(), and **modfl**() functions conform to ISO/IEC 9899:1999 (“ISO C99”).
