How to round to 2 decimals with Python? How to round to 2 decimals with Python? python python

# 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

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 mathv = 2.357print(math.ceil(v*100)/100)  # -> 2.36print(math.floor(v*100)/100)  # -> 2.35``

or:

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