# Python float - Get integer and fractional parts

Here is how to get the integer and fractional parts of a float.

```
n = 3.14
i = int(n)
f = n - i
print(i) # 3
print(f) # 0.14000000000000012
```

It's so primitive. The fractional part has many 0s and it is negative when the number is negative as follows.

```
n = -7.8
i = int(n)
f = n - i
print(i) # -7
print(f) # -0.7999999999999998
```

## Using math.modf()

The Python standard library has a simple method to split a float into the integer and fractional parts.

```
import math
n = 3.14
a = math.modf(n)
f, i = math.modf(n)
print(a) # (0.14000000000000012, 3.0)
print(f) # 0.14000000000000012
print(i) # 3.0
```

The `modf()`

in `math`

module returns a tuple of the fraction and integer parts. It splits a negative float into the negative integer and negative fractional parts.

```
import math
n = -2.58
a = math.modf(n)
f, i = math.modf(n)
print(a) # (-0.5800000000000001, -2.0)
print(f) # -0.5800000000000001
print(i) # -2.0
```

## Comments

Powered by Markdown