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
Return value from round()
ndigitsis not provided,
round()returns the nearest integer to the given number.
round()returns the number rounded off to the
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))
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.675 print(round(num, 2)) # using decimal.Decimal (passed float as string for precision) num = Decimal('2.675') print(round(num, 2))