# Precision handling in Python

Different methods for precision handling: Here, we are going to learn how to handle the precisions with a float number in Python? By IncludeHelp Last updated : December 17, 2023

## Handling precisions

There are many ways to handle/set the precision with a float value, some of the math functions and some of them are based on the formatting.

### Example without handling precision

```# Python program to print float value
import math

a = 10.123456789
b = 10.0
c = 10.134
d = 10 / 3

print("Without precision handling...")
print("a:", a)
print("b:", b)
print("c:", c)
print("d:", d)
```

Output

```Without precision handling...
a: 10.123456789
b: 10.0
c: 10.134
d: 3.3333333333333335
```

## Methods to handle the precision in Python

Below are the methods which can be used to handle precisions in Python:

### 1. Using the trunc() method

The trunc() method is used to get the truncated integer value of a number, it accepts a number (either an integer or a float) and returns the real value truncated to an integral.

#### Example

```# Importing math module
import math

a = 10.123456789
b = 10.0
c = 10.134
d = 10 / 3

print("Without precision handling...")
print("a:", a)
print("b:", b)
print("c:", c)
print("d:", d)

# using trunc() method
print("Using trunc() method...")
print("math.trunc(a): ", math.trunc(a))
print("math.trunc(b): ", math.trunc(b))
print("math.trunc(c): ", math.trunc(c))
print("math.trunc(d): ", math.trunc(d))
```

The output of the above example is:

```Without precision handling...
a: 10.123456789
b: 10.0
c: 10.134
d: 3.3333333333333335
Using trunc() method...
math.trunc(a):  10
math.trunc(b):  10
math.trunc(c):  10
math.trunc(d):  3
```

### 2. Using the ceil() method

The ceil() method is used to get the ceil value of a given number, it accepts a number/numeric expression and returns the smallest integral value which is greater than the number.

#### Example

```# Importing math module
import math

a = 10.123456789
b = 10.0
c = 10.134
d = 10 / 3

print("Without precision handling...")
print("a:", a)
print("b:", b)
print("c:", c)
print("d:", d)

# using ceil() method
print("Using ceil() method...")
print("math.ceil(a): ", math.ceil(a))
print("math.ceil(b): ", math.ceil(b))
print("math.ceil(c): ", math.ceil(c))
print("math.ceil(d): ", math.ceil(d))
```

The output of the above example is:

```Without precision handling...
a: 10.123456789
b: 10.0
c: 10.134
d: 3.3333333333333335
Using ceil() method...
math.ceil(a):  11
math.ceil(b):  10
math.ceil(c):  11
math.ceil(d):  4
```

### 3. Using the floor() method

The floor() method is used to get the floor value of a given number, it is used to get the floor value of a number, it accepts a number/numeric expression and returns largest integer (integral) value, which is not greater than the number.

#### Example

```# Importing math module
import math

a = 10.123456789
b = 10.0
c = 10.134
d = 10 / 3

print("Without precision handling...")
print("a:", a)
print("b:", b)
print("c:", c)
print("d:", d)

# using floor() method
print("Using floor() method...")
print("math.floor(a): ", math.floor(a))
print("math.floor(b): ", math.floor(b))
print("math.floor(c): ", math.floor(c))
print("math.floor(d): ", math.floor(d))
```

The output of the above example is:

```Without precision handling...
a: 10.123456789
b: 10.0
c: 10.134
d: 3.3333333333333335
Using floor() method...
math.floor(a):  10
math.floor(b):  10
math.floor(c):  10
math.floor(d):  3
```

## Handing precision using different ways of formatting in Python

Below are the different formatting techniques that can be used to handle precisions in Python:

### 1. Using "%" and format specifier (%f)

This method is similar to printf() function in C language, it is used to format as well as set the precision.

#### Example

```a = 10.123456789
b = 10.0
c = 10.134
d = 10 / 3

print("Without precision handling...")
print("a:", a)
print("b:", b)
print("c:", c)
print("d:", d)

print("Using %...")
print("%.2f" % a)
print("%.2f" % b)
print("%.2f" % c)
print("%.2f" % d)
```

The output of the above example is:

```a: 10.123456789
b: 10.0
c: 10.134
d: 3.3333333333333335
Using %...
10.12
10.00
10.13
3.33
```

### 2. Using format() method

The format() method is used to format a string and we can define the number of precision.

#### Example

```a = 10.123456789
b = 10.0
c = 10.134
d = 10 / 3

print("Without precision handling...")
print("a:", a)
print("b:", b)
print("c:", c)
print("d:", d)

print("Using format()...")
print("{0:.2f}".format(a))
print("{0:.2f}".format(b))
print("{0:.2f}".format(c))
print("{0:.2f}".format(d))
```

The output of the above example is:

```Without precision handling...
a: 10.123456789
b: 10.0
c: 10.134
d: 3.3333333333333335
Using format()...
10.12
10.00
10.13
3.33
```

### 3. Using round() method

The round() method rounds the float value with given number of precisions.

#### Example

```a = 10.123456789
b = 10.0
c = 10.134
d = 10 / 3

print("Without precision handling...")
print("a:", a)
print("b:", b)
print("c:", c)
print("d:", d)

print("Using round()...")
print(round(a, 2))
print(round(b, 2))
print(round(c, 2))
print(round(d, 2))
```

The output of the above example is:

```Without precision handling...
a: 10.123456789
b: 10.0
c: 10.134
d: 3.3333333333333335
Using round()...
10.12
10.0
10.13
3.33
```