Update appNew update is available. Click here to update.
Last Updated: Sep 22, 2023

Round() function in Python


We, humans, like things that are simple, easy to make sense of, that are easy to understand. And for us, it's harder to use just any decimal number in calculations, even while calculating length or while calculating our weight on the weighing machine. Hence we generally prefer to use round numbers.

Round() function in Python

In this blog, we will study the round() function in Python. It is a function that helps to round off a number and eliminates the least significant digits. This simplifies the notation while keeping very close to the original value.

Must read, Divmod in Python, and Convert String to List Python

What is Round Function in Python?

The round() function in Python is a built-in function that allows you to round a number to a specified number of decimal places or to the nearest integer. It takes two arguments: the number you want to round, and the number of decimal places you want to round to. If you omit the second argument, it defaults to zero, and the number is rounded to the nearest integer. The round() function uses the rounding half to even method by default, which means that if the number you're rounding is exactly halfway between two possible rounding values, the result is rounded to the nearest even number. This behaviour can be changed by specifying a different rounding method using the decimal module. The round() function is useful when you need to perform calculations that require precision and rounding of decimal values.

Python round() Syntax:

round(number, ndigits)

>>> round(3.14159)  # round to the nearest integer as ndigits is not provided

Python round() Function Parameters:

As we can see in the syntax that there are two parameters i.e., number and ndigits. The number parameter is the value that you want to round. It can be an integer or a floating-point number. The ndigits parameter is optional. It specifies the number of decimal places to which you want to round the number. If ndigits is not provided, the round() function will round the number to the nearest whole number. Let us take an example to understand round() with a single parameter and two parameters:

  • Python


val = 4.2078

# round() with single parameter

# round() with two parameters
print(round(val, 3))
print(round(val, 4))

This will produce the following output:


Python round() Function Return Value

The round() function returns the-

  • If the value of digits is not provided, the round function will return the nearest integer to the given number. 
  • The number is rounded off to the given digits if the digits parameter is provided.


The number 3.5, when rounded to the nearest whole number digit, is 4. Similarly, for 1.6, it will be 2.


Now let's practice some examples of the round() function when the second parameter is not defined.

Implementation in Python

  • Python


# integers

# floating point



Now it's time to practice some examples of the round() function when the second parameter is given. You can compile it with online python compiler.

Implementation in Python

  • Python


# when the last digit is less than 5
print(round(4.583, 2))
print(round(4.5834, 3))

# when the last digit is equal to 5
print(round(4.585, 2))
print(round(4.555, 1))

# when the last digit is greater than 5
print(round(4.587, 2))
print(round(4.6, 1))



Round() Function Example with Float Numbers

  • Python


# Round a float number to two decimal places
num = 3.14159
rounded_num = round(num, 2)
print(rounded_num) # Output: 3.14

# Round a float number to the nearest integer
num2 = 3.7
rounded_num2 = round(num2)
print(rounded_num2) # Output: 4

# Round a float number using the decimal module
import decimal
num3 = decimal.Decimal('3.14159')
rounded_num3 = round(num3, 2)
print(rounded_num3) # Output: 3.14

Round() Function Example with Integer Values

  • Python


# Round an integer value to the nearest multiple of 10
num1 = 45
rounded_num1 = round(num1, -1)
print(rounded_num1) # Output: 50

# Round an integer value to the nearest multiple of 100
num2 = 356
rounded_num2 = round(num2, -2)
print(rounded_num2) # Output: 400

# Round an integer value to the nearest 5
num3 = 23
rounded_num3 = round(num3 / 5) * 5
print(rounded_num3) # Output: 25

Round() Function Example with Negative Numbers

  • Python


# Round a negative float number to two decimal places
num1 = -3.14159
rounded_num1 = round(num1, 2)
print(rounded_num1) # Output: -3.14
# Round a negative integer value to the nearest multiple of 10
num2 = -45
rounded_num2 = round(num2, -1)
print(rounded_num2) # Output: -50
# Round a negative float number to the nearest integer
num3 = -3.7
rounded_num3 = round(num3)
print(rounded_num3) # Output: -4

Round() Function Example with Numpy Arrays

  • Python


import numpy as np
# Create a NumPy array with float values
arr = np.array([1.234, 5.678, 9.012])
# Round the array to two decimal places
rounded_arr = np.round(arr, 2)
# Print the original and rounded arrays
print(arr) # Output: [1.234 5.678 9.012]
print(rounded_arr) # Output: [1.23 5.68 9.01]

Apart from this, there are more unique ways to round a number. This python decimal module helps in handling decimal numbers more accurately. Let's discuss a few of them.

ROUND_CEILINGIt will round towards infinity or round up.
ROUND_DOWN:It will round the value towards zero or truncate.
ROUND_FLOOR: It will round towards -infinity or round down.
ROUND_HALF_DOWNIt will round to the nearest with ties going toward zero.
ROUND_HALF_EVENIt will round to the nearest value heading to the nearest even integer.
ROUND_HALF_UPIt will round to the nearest value, with the value going away from 0(zero).
ROUND_UPIt will round up to where the value of the floating point will go away from zero.
ROUND_05UPIt will round up whether the last digit is 0 or 5. Otherwise, it will round down.

Round() Function Example with Decimal Module

The Decimal module is employed for performing tasks related to decimal floating-point operations, ensuring precise rounding. To utilize it, we must begin by importing it from the standard library module Decimal. Here's an example of using the round() function with the decimal module in Python. 

  • Python


import decimal
from decimal import Decimal
from decimal import getcontext

# Set precision for Decimal operations to 3 decimal places
getcontext().prec = 3

# Set rounding mode to ROUND_FLOOR
getcontext().rounding = decimal.ROUND_FLOOR
print ("Result of ROUND_FLOOR = ",Decimal(2.617) + Decimal(0))

# Set rounding mode to ROUND_HALF_UP
getcontext().rounding = decimal.ROUND_HALF_UP
print ("Result of ROUND_HALF_UP = ",Decimal(8.685) + Decimal(0))



Error and Exceptions

How the errors and exceptions can occur when using the round() function in Python:

  1. TypeError example:
>>> round('3.14')
TypeError: type str doesn't define __round__ method


Here, we are trying to round a string value, which is not possible. This results in a TypeError exception.

2. ValueError example:

>>> round(3.14159, '2')
ValueError: ndigits must be an integer


In this case, we passed a non-integer value as the second argument to the round() function. This causes a ValueError exception to be raised.

3. OverflowError example:

>>> round(10**1000)
OverflowError: int too large to convert to float


In this case, we passed a very large integer value to the round() function, which cannot be represented as a floating-point number. This causes an OverflowError exception to be raised.

4. NameError example:

>>> round(3.14159)
NameError: name 'round' is not defined


Here, we are trying to use the round() function without importing it first. This results in a NameError exception.

Practical Applications: 

The round() function in Python is a useful tool for handling numerical data and performing mathematical calculations. Here are some practical applications of the round() function in Python:

  • Financial calculations: In financial applications, it is often necessary to round numbers to a certain number of decimal places. For example, when calculating interest rates or currency conversions, you may need to round values to two decimal places. The round() function is ideal for this purpose.
  • Data analysis: When working with large data sets, it is often necessary to round data to a certain number of decimal places. This can help to reduce noise in the data and make it easier to work with. The round() function is commonly used in data analysis for this purpose.
  • Scientific calculations: In scientific applications, it is important to perform calculations with a high degree of precision. The round() function can be used to round values to a certain number of decimal places to achieve this level of precision.
  • User interfaces: In user interfaces, it is often necessary to display numerical data to the user in a user-friendly format. The round() function can be used to format numerical values in a way that is easy for the user to read and understand.

Overall, the round() function is a versatile tool that can be used in a wide range of applications where numerical data is involved.

Check this out, Fibonacci Series in Python

Now it’s time for some frequently asked questions.

Check out this article - Quicksort Python.

Must Read Invalid Syntax in Python.

Frequently Asked Questions

Why is round 2.5 is 2 in Python?

In Python, round(2.5) results in 2 because it uses the "round half to even" or "banker's rounding" method, which rounds to the nearest even number in case of a tie.

How do you round up to 0.5 in Python?

We can round up to the nearest 0.5 in Python using the round() function with some simple arithmetic. For example, we can round up number 2.3, by doing round(2.3 * 2) / 2 this will produce a result of 2.5.

What does the round () function return?

The round() function in Python returns a rounded version of a number. The exact return value depends on the arguments provided to the function.


This article taught us to calculate the Round() function in Python. We have discussed the approach using some examples in python languages. To enhance your knowledge of python programming, check out these articles-

Refer to our guided paths on Coding Ninjas Studio to learn more about DSA, Competitive Programming, JavaScript, System Design, etc. Enroll in our courses and refer to the mock test and problems available. Take a look at the interview experiences and interview bundle for placement preparations.

Keep Coding!

Previous article
Strip Function In Python
Next article
Difference Between Sort and Sorted in Python