Robert Johns | 27 Jan, 2025
Fact checked by Jim Markus

Understanding Python's round() Function: A Quick Guide

The Python round() function is a simple yet powerful tool for rounding numbers to a specified number of decimal places. Whether you’re working on financial calculations or formatting data for display, mastering the round() function is essential for handling both floating-point arithmetic and precision in Python.

Basic Syntax

The round() function has the following syntax, which I'm sure you will agree, is nice and simple:

round(number, ndigits)

- number (required): The number to round. This can be a float number or an int.
- ndigits (optional): The number of decimal places to round to. Defaults to 0 if not specified.

Common Examples

1. Rounding to the Nearest Integer

If you omit the ndigits argument, the built-in function will round the number to the nearest integer:

print(round(3.14159))
print(round(3.5))
print(round(2.49))

Output:

3
4
2

2. Rounding to a Specific Number of Decimal Places

Use the ndigits argument to round to a floating point number with a specified number of decimal places:

print(round(3.14159, 2))  # Round to 2 decimal places
print(round(3.14159, 3))  # Round to 3 decimal places

Output:

3.14
3.142

3. Rounding Negative Numbers

The round() function works equally well with negative numbers:

print(round(-3.14159, 2))
print(round(-2.5))

Output:

-3.14
-2

How Python Rounds Numbers

Python uses the "round half to even" strategy (also known as bankers' rounding). This means that when a number is exactly halfway between two integers, it rounds to the nearest even number:

print(round(2.5))  # Rounds to 2
print(round(3.5))  # Rounds to 4

This behavior minimizes bias in repeated calculations, making it ideal for floating-point arithmetic.

Common Use Cases

1. Formatting Output

Use round() to format numbers for display. This is especially useful when working with decimal numbers and controlling the number of digits after the decimal point:

total = 123.45678
print(f"Total: ${round(total, 2)}")

Output:

Total: $123.46

2. Financial Calculations

In financial applications, precision is critical. Use the ndigits parameter to control the number of decimal places when performing monetary calculations:

price = 19.995
print(round(price, 2))

Output:

20.0

3. Simplifying Floating-Point Numbers

When working with floating-point arithmetic, round() can help make results more readable by limiting the number of digits displayed:

result = 0.3333333333333333
print(round(result, 3))

Output:

0.333

Key Takeaways

- The Python round() function rounds numbers to the nearest integer or specified decimal place.

- Python’s rounding follows the "round half to even" strategy to minimize bias.

- The second parameter (ndigits) determines how many decimal places to round to.

- You can use round() for formatting, financial calculations, and improving the readability of float numbers in your Python projects.

Practice Exercise

Here's a simple challenge, try writing a program that calculates the area of a circle with a radius of 5 while rounding the result to 3 decimal places:

import math

radius = 5
area = math.pi * radius ** 2
print(round(area, 3))

Wrapping Up

The Python round() function is an essential part of any Python coder’s toolkit, helping you manage numeric precision with ease. Whether you’re rounding float numbers to a specific decimal point for display or ensuring accuracy in financial applications, round() is the tool you need. By mastering the round() function, you’ll improve both the accuracy and presentation of your data.

Happy coding!

 

By Robert Johns

Technical Editor for Hackr.io | 15+ Years in Python, Java, SQL, C++, C#, JavaScript, Ruby, PHP, .NET, MATLAB, HTML & CSS, and more... 10+ Years in Networking, Cloud, APIs, Linux | 5+ Years in Data Science | 2x PhDs in Structural & Blast Engineering

View all post by the author

Subscribe to our Newsletter for Articles, News, & Jobs.

I accept the Terms and Conditions.

Disclosure: Hackr.io is supported by its audience. When you purchase through links on our site, we may earn an affiliate commission.

In this article

Learn More

Please login to leave comments