modf(n) Tcl Float Decomposition modf(n)

```

```

# [NAME](#NAME)

modf - Split a floating-point number into integer and fraction parts

# [SYNOPSIS](#SYNOPSIS)

**package require tcl 9.1**

**modf value**

```

```

# [DESCRIPTION](#DESCRIPTION)

The **modf** command takes a floating-point number, *value*, and returns a list of two values. The first element of the result is the whole integer part (as a floating-point number) of *value*, and the second element of the result is the fractional part of *value*. The signs of the two elements will match the sign of *value*.

# [EXAMPLE](#EXAMPLE)

It should be noted that the fractional part may have some digits that appear to be undetermined by the input. This is due to the nature of approximation inherent in floating-point arithmetic; the digits will apparently disappear if the two parts are added back together.

```
set value 123.456
lassign [modf $value] whole part
set sum [expr {$whole + $part}]
puts "$value -> $whole $part -> $sum"
#       123.456 -> 123.0 0.45600000000000307 -> 123.456
```

# [SEE ALSO](#SEE_ALSO)

[expr(n)](/man/os/tcl/expr.n), [frexp(n)](/man/os/tcl/frexp.n), [mathfunc(n)](/man/os/tcl/mathfunc.n)

# [KEYWORDS](#KEYWORDS)

floating point

9.1 Tcl

---

Document: modf(n) from tcl 9.1.0-r0 (Chainguard OS)
Source: https://downloads.sourceforge.net/project/tcl/Tcl/9.1.0/tcl9.1.0-src.tar.gz
