The** round(x,n)** method returns a rounded number x to n decimals.

The arguments:

- x : number to round
- n : number of decimals

#!/usr/bin/python x = round(1.5056, 2) print(x) |

which would return 1.06

### Rounding errors

You would probably round 1.85, 2.85, 3.85, 4.85 and 5.85 up, right? If you try this in a computer you won’t get that result:

print( round(1.85, 1) ) print( round(2.85, 1) ) print( round(3.85, 1) ) print( round(4.85, 1) ) print( round(5.85, 1) ) print( round(6.85, 1) ) |

Decimal places are not exact in a computer system, which uses base 2 instead of base 10. You can view the value that round returns with the Decimal module:

#!/usr/bin/python from decimal import Decimal print( Decimal(1.85) ) print( Decimal(2.85) ) print( Decimal(3.85) ) print( Decimal(4.85) ) print( Decimal(5.85) ) print( Decimal(6.85) ) |

It will print the values that are stored in the computer memory. You might be surprised. These numbers are called floating points.

### Round to the nearest number

**Round up**

If you want all floating points to be rounded up, use the **math.ceil(x)** method instead:

#!/usr/bin/python import math print( math.ceil(2.5) ) |

**Round down**

If you want a floating point to be rounded down, you could use

#!/usr/bin/python import math print( math.floor(2.5) ) |