# Documentation On this page: https://docs.python.org/3.14/library/string.html#grammar-token-format-spec-format_spec ```py format_spec: [options][width_and_precision][type] options: [[fill]align][sign]["z"]["#"]["0"] fill: <any character> align: "<" | ">" | "=" | "^" sign: "+" | "-" | " " width_and_precision: [width_with_grouping][precision_with_grouping] width_with_grouping: [width][grouping] precision_with_grouping: "." [precision][grouping] width: digit+ precision: digit+ grouping: "," | "_" type: "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%" ``` The `precision_with_grouping` syntaxe is wrong, because it accepts `.` without `precision` or `grouping`. But ```py >>> f'{1234.1234:.f}' Traceback (most recent call last): File "<python-input-17>", line 1, in <module> f'{1234.1234:.f}' ^^^^^^^^^^^^^^ ValueError: Format specifier missing precision ``` (The error does not mention grouping either) The right syntax should be ```py precision_with_grouping: "." precision [grouping] | "." grouping ``` <!-- gh-linked-prs --> ### Linked PRs * gh-134608 * gh-135015 <!-- /gh-linked-prs -->