Python round()

The round() function rounds a number.

Example

number = 13.46

# round 13.46 to the nearest integer rounded_number = round(number)
print(rounded_number) # Output: 13

round() Syntax

round(number, ndigits)

round() Parameters

The round() function takes two parameters:

  • number - the number to be rounded.
  • ndigits (optional) - number up to which the given number is rounded; defaults to 0.

round() Return Value

The round() function returns the

  • nearest integer to the given number if ndigits is not provided
  • number rounded off to the ndigits digits if ndigits is provided

Example 1: How round() works in Python?

# for integers
print(round(10))
# for floating point
print(round(10.7))
# even choice
print(round(5.5))

Output

10
11
6

Here,

  • round(10): rounds the integer to 10
  • round(10.7): rounds the float 10.7 to nearest integer, 11.
  • round(5.5): rounds the float 5.5 to 6.

Example 2: Round a number to the given number of decimal places

print(round(2.665, 2))
print(round(2.675, 2))

Output

2.67
2.67

When the decimal 2.675 is converted to a binary floating-point number, it's again replaced with a binary approximation, whose exact value is:

2.67499999999999982236431605997495353221893310546875

Due to this, it is rounded down to 2.67.

Note: The behavior of round() for floats can be surprising. Notice round(2.675, 2) gives 2.67 instead of the expected 2.68. This is not a bug: it's a result of the fact that most decimal fractions can't be represented exactly as a float.

If you're in a situation where this precision is needed, consider using the decimal module, which is designed for floating-point arithmetic:

from decimal import Decimal

# normal float
num = 2.675
print(round(num, 2))
# using decimal.Decimal (passed float as string for precision) num = Decimal('2.675')
print(round(num, 2))

Output

2.67
2.68

Also Read:

Did you find this article helpful?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community