Search code examples
pythonstring-formatting

How to format to n decimal places in Python


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?


Solution

  • Fields in format strings can be nested:

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