How to Round Numbers in Python
Decimal values are common in Python programs, especially when working with calculations, measurements, percentages, prices, and statistical data. Sometimes a calculation produces more decimal digits than you actually need, making the result difficult to read or present.
Python provides a built-in function called round() that can reduce the number of decimal places in a numeric value. You can use it to round a number to a specific precision or, when no precision is supplied, obtain a rounded integer value.
Table of Contents

What is the round() Function in Python?
The round() function takes a number and optionally a number of decimal places. It returns the rounded result.
Syntax
round(number, ndigits)
Here:
- number: The value you want to round.
- ndigits: The number of digits to keep after the decimal point. This argument is optional.
If ndigits is omitted, Python rounds the value to the nearest integer.
Rounding a Number to the Nearest Integer
The simplest use of round() is to provide only the number. Python then returns a rounded integer value.
print(round(15))
print(round(25.8))
print(round(25.4))
Output
15
26
25
In this example, 25.8 is closer to 26, while 25.4 is closer to 25.
Round a Number to Specific Decimal Places
When you need a particular number of digits after the decimal point, pass the desired precision as the second argument.
print(round(25.4654, 2))
print(round(25.4276, 3))
print(round(25.4173, 2))
Output
25.47
25.428
25.42
The second argument tells Python how many decimal places should be considered in the rounded result.
Rounding the Result of a Calculation
Rounding is particularly useful when a mathematical operation produces a long decimal value. For example, dividing 1 by 6 produces several digits after the decimal point.
value = 1 / 6
print(value)
print(round(value, 2))
Output
0.16666666666666666
0.17
The original calculation produces a long floating-point representation, while round(value, 2) reduces it to two decimal places.
How Does Python Round Halfway Values?
One important detail about Python’s round() function is its treatment of values that fall exactly halfway between two possible rounded numbers.
Python uses a rule commonly called round half to even, also known as banker’s rounding. Instead of always rounding a halfway value upward, Python chooses the nearest even value.
print(round(5.5))
print(round(6.5))
Output
6
6
Both results are 6. The value 5.5 is between 5 and 6, so it becomes the even number 6. Similarly, 6.5 lies between 6 and 7, and Python selects 6 because it is the even choice.
This behavior is intentional and is part of Python’s rounding rules.
Round a Number to One Decimal Place
To keep only one digit after the decimal point, pass 1 as the second argument.
price = 19.678
result = round(price, 1)
print(result)
Output
19.7
Round a Number to Two Decimal Places
Two decimal places are frequently useful when displaying calculated values such as prices or measurements.
amount = 125.6789
print(round(amount, 2))
Output
125.68
Round a Number to Three Decimal Places
You can increase the precision by changing the second argument to 3.
measurement = 12.34567
print(round(measurement, 3))
Output
12.346
Can round() Round to Tens or Hundreds?
Yes. The ndigits argument can also be negative. This allows you to round values to tens, hundreds, thousands, and other positions to the left of the decimal point.
print(round(1234, -1))
print(round(1234, -2))
Output
1230
1200
Here, -1 rounds to the nearest ten, while -2 rounds to the nearest hundred.
Common Uses of round() in Python
Rounding is useful whenever displaying or processing a number with excessive precision is unnecessary. Some common examples include:
- Displaying calculated prices.
- Formatting percentages.
- Presenting measurements.
- Simplifying mathematical results.
- Preparing numerical values for reports.
- Reducing unnecessary decimal digits in data analysis.
Important Points to Remember
round(number)rounds a value without specifying decimal precision.round(number, ndigits)lets you specify the desired precision.- The
ndigitsparameter is optional. - Python uses round-half-to-even behavior for halfway cases.
- A negative
ndigitscan be used to round positions to the left of the decimal point. round()returns a numeric result rather than changing the original variable automatically.
Complete Advance AI Topics: Click Here
SQL Tutorial: Click Here
YT:- DecodeIT
Conclusion
The Python round() function provides a convenient way to control the precision of numerical results. You can use it without a second argument to round a number to the nearest integer, or provide ndigits when you need a specific number of decimal places.
It is useful in calculations, data processing, measurements, reports, and many other programming situations where displaying excessive decimal digits is unnecessary. Understanding Python’s round-half-to-even rule is also important when working with values that fall exactly halfway between two possible results.
Frequently Asked Questions
How do I round a number in Python?
Use the built-in round() function:
round(12.56)
How do I round a number to two decimal places?
Pass 2 as the second argument:
round(12.5678, 2)
This produces 12.57.
How do I round a number to one decimal place?
Use 1 as the second argument:
round(12.56, 1)
How do I round a number to the nearest 10?
Use a negative value for ndigits:
round(126, -1)
The result is 130.
Does Python always round .5 upward?
No. Python uses the round-half-to-even rule for halfway cases. For example, round(5.5) gives 6, while round(6.5) also gives 6.
Can I round numbers without using round()?
Yes. Other approaches can be used depending on the requirement, including formatting techniques, mathematical operations, or libraries such as NumPy. However, round() is the built-in option for standard Python rounding.
Keywords
How to Round Numbers in Python, Python round function, round number in Python, Python round to 2 decimals, Python round to one decimal place, Python round to 3 decimals, round up in Python, round down in Python, Python round to nearest 10, Python round to nearest 5, Python rounding, round floating point number Python, Python round half to even, banker’s rounding Python, round numbers without round function, Python numerical formatting, Python decimal rounding