 GFG App
Open App Browser
Continue

# round() function in Python

Python round() function float point number from the decimal value to the closest multiple of 10.

The int value to the closest multiple of 10 to the power minus ndigits, where ndigits is the precision after the decimal point. If two multiples are equally close, rounding is done toward the even choice.

### Python round() Syntax:

round(number, number of digits)

### Python round() parameters:

• number : number to be rounded
• number of digits (Optional) : number of digits up to which the given number is to be rounded.

If the second parameter is missing, then the round() function returns

1. if only an integer is given, for instance 15, then it will round off to 15 itself.
2. if a decimal number is given, then it will round off to the closest multiple of 10 to the power minus ndigits

## Python3

 `# for integers` `print``(``round``(``15``))`   `# for floating point` `print``(``round``(``51.6``))` `print``(``round``(``51.5``))` `print``(``round``(``51.4``))`

Output:

```15
52
52
51```

When the second parameter is present, then it returns:

The last decimal digit till which it is rounded is increased by 1 when (ndigit+1)th digit is >=5, else it stays the same.

## Python3

 `# when the (ndigit+1)th digit is =5` `print``(``round``(``2.665``, ``2``))`   `# when the (ndigit+1)th digit is >=5` `print``(``round``(``2.676``, ``2``))`   `# when the (ndigit+1)th digit is <5` `print``(``round``(``2.673``, ``2``))`

Output:

```2.67
2.68
2.67```

## Python3

 `print``(``round``(``12``))` `print``(``round``(``12.7``))`

Output:

```12
13```

## Python3

 `print``(``round``(``12``))` `print``(``round``(``12.1``))` `print``(``round``(``12.4``))` `print``(``round``(``12.5``))`

Output:

```12
12
12
12```

## Error and Exceptions

TypeError: This error is raised in the case when there is anything other than numbers in the parameters.

## Python3

 `print``(``round``(``"a"``, ``2``))`

Output:

```Runtime Errors:
Traceback (most recent call last):
File "/home/ccdcfc451ab046030492e0e758d42461.py", line 1, in
print(round("a", 2))
TypeError: type str doesn't define __round__ method```

## Practical Applications:

One of the common uses of rounding of functions is Handling the mismatch between fractions and decimal.

One use of rounding numbers is to shorten all the three’s to the right of the decimal point in converting 1/3 to decimal. Most of the time, you will use the rounded numbers 0.33 or 0.333 when you need to work with 1/3 in decimal. In fact, you usually work with just two or three digits to the right of the decimal point when there is no exact equivalent to the fraction in decimal. How would you show 1/6 in decimal? Remember to round up!

## Python3

 `# practical application` `b ``=` `1``/``3` `print``(b)` `print``(``round``(b, ``2``))`

Output:

```0.3333333333333333
0.33```

Note: In python, if we round off numbers to floor or ceil without giving the second parameter, it will return 15.0 for example and in Python 3 it returns 15, so to avoid this we can use (int) type conversion in python. It is also important to note that the round ()function shows unusual behavior when it comes to finding the mean of two numbers.

#### using math module:

By default, round() rounds a number to the nearest integer. However, you can also specify whether to round up or down using the round() function in combination with the math module.

## Python3

 `import` `math`   `num ``=` `3.6` `rounded_num ``=` `math.floor(num) ``# rounds down to nearest integer` `print``(rounded_num) ``# output: 3`   `rounded_num ``=` `math.ceil(num) ``# rounds up to nearest integer` `print``(rounded_num) ``# output: 4`

Output

```3
4```

Approach:
The code takes a float number num and uses the math.floor() function to round it down to the nearest integer. It then prints the result. It then uses the math.ceil() function to round num up to the nearest integer, and prints the result.

Time Complexity:
Both the math.floor() function and the math.ceil() function have a constant time complexity, which means that the time complexity of the original code is also constant. Similarly, the round() function also has a constant time complexity, so the time complexity of the alternative code is also constant.

Auxiliary Space:
The space complexity of both the original code and the alternative code is constant, as they both use only a few variables to store the input and the result.

My Personal Notes arrow_drop_up