round() function returns a floating-point number rounded to the specified number of decimals.
number = 13.46# round the number rounded_number = round(number)print(rounded_number) # Output: 13
The syntax of the
round() function is:
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
ndigitsis not provided
- number rounded off to the
Example 1: How round() works in Python?
# for integersprint(round(10))# for floating pointprint(round(10.7))# even choiceprint(round(5.5))
10 11 6
Example 2: Round a number to the given number of decimal places
print(round(2.665, 2)) print(round(2.675, 2))
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.
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:
Due to this, it is rounded down to 2.67.
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.675print(round(num, 2))# using decimal.Decimal (passed float as string for precision) num = Decimal('2.675')print(round(num, 2))