Returns a number rounded to specified precision
Usage
The round()
returns a number rounded to ndigits precision after the decimal point.
If ndigits is not specified, the number is rounded to the nearest integer.
Syntax
round(number,ndigits)
Parameter | Condition | Description |
number | Required | Specifies the number to round |
ndigits | Optional | Specifies the number of decimal digits to round to. Default is None. |
Basic Example
# Round a number 2.8 to the nearest integer
x = round(2.8)
print(x)
# Prints 3
Rounding to decimal places
You can specify precision after the decimal point by using ndigits parameter.
# Round a number to only two decimals
x = round(2.86542, 2)
print(x)
# Prints 2.87
Round To Ten’s or Hundred’s
ndigits can be negative as well. It allows you to e.g. round numbers to ten’s or hundred’s.
# Round to ten's
x = round(48, -1)
print(x)
# Prints 50
x = round(148, -1)
print(x)
# Prints 150
# Round to hundred's
x = round(248, -2)
print(x)
# Prints 200
x = round(268, -2)
print(x)
# Prints 300
Rounding Conversion
If ndigits is not specified, the return value is an integer. Otherwise the return value has the same type as number.
# returns int
x = round(2.865)
print(x)
# Prints 3
# returns float
x = round(2.865, 0)
print(x)
# Prints 3.0
Rounding to Even (Banker’s Rounding)
In Python, if the fractional component of the number is halfway between two integers, one of which is even and the other odd, then the even number is returned.
This kind of rounding is called rounding to even (or banker’s rounding).
x = round(4.5)
print(x)
# Prints 4
x = round(5.5)
print(x)
# Prints 6
Rounding Up/Down
If you want to explicitly round a number up or down, use ceil() or floor() function from math module.
# Round a number up
import math
x = math.ceil(4.5)
print(x)
# Prints 5
# Round a number down
import math
x = math.floor(4.5)
print(x)
# Prints 4