# rounding – How to round to 2 decimals with Python?

## rounding – How to round to 2 decimals with Python?

You can use the `round`

function, which takes as its first argument the number and the second argument is the precision after the decimal point.

In your case, it would be:

```
answer = str(round(answer, 2))
```

Using `str.format()`

s syntax to *display* `answer`

with two decimal places (without altering the underlying value of `answer`

):

```
def printC(answer):
print(nYour Celsius value is {:0.2f}ÂșC.n.format(answer))
```

Where:

`:`

introduces the format spec`0`

enables sign-aware zero-padding for numeric types`.2`

sets the precision to`2`

`f`

displays the number as a fixed-point number

#### rounding – How to round to 2 decimals with Python?

Most answers suggested `round`

or `format`

. `round`

sometimes rounds up, and in my case I needed the *value* of my variable to be rounded down and not just displayed as such.

```
round(2.357, 2) # -> 2.36
```

I found the answer here: How do I round a floating point number up to a certain decimal place?

```
import math
v = 2.357
print(math.ceil(v*100)/100) # -> 2.36
print(math.floor(v*100)/100) # -> 2.35
```

or:

```
from math import floor, ceil
def roundDown(n, d=8):
d = int(1 + (0 * d))
return floor(n * d) / d
def roundUp(n, d=8):
d = int(1 + (0 * d))
return ceil(n * d) / d
```