How to format to n decimal places in Python

Viewed 544

I have a variable n and I want to print n decimal places.

import math
n = 5
print(f"{math.pi:.nf}")

ValueError: Format specifier missing precision

This doesn't work, but how might it be done?

2 Answers

Fields in format strings can be nested:

>>> print(f"{math.pi:.{n}f}")
3.14159

For pre-3.6 versions, you can use .format()

print('{:.{}}'.format(math.pi, n)))
Related