Table of Contents
In this tutorial, we will learn about the Python round() function with the help of examples.
The round()
function returns a floating-point number rounded to the specified number of decimals.
Example
number = 13.46 # round the number rounded_number = round(number) print(rounded_number) # Output: 13
1. round() Syntax
The syntax of the round()
function is:
round(number, ndigits)
2. 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
3. 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 ifndigits
is provided
4. 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
5. 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
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:
2.67499999999999982236431605997495353221893310546875
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))
Output
2.67 2.68