How to use float filter to show just two digits after decimal point?

flask, jinja2, number-formatting

Solution

It turns to be quite simple:

My code:

{% set proc_err = nb_err|length / sum * 100 %}
({{proc_err|float}}%)

Can be changed a bit with:

{% set proc_err = nb_err|length / sum * 100 %}
({{'%0.2f' % proc_err|float}}%)

or using format:

({{'%0.2f'| format(proc_err|float)}}%)

Reference can be found here on jinja2 github issue 70

Problem

I am using Flask/Jinja2 template to show a number using `|float` filter. Here is my code ``` {% set proc_err = nb_err|length / sum * 100 %} ({{proc_err|float}}%) ``` Output is a bit awkward: ``` 17/189 (8.99470899471%) ``` I am looking for a way to make the places after dot limited to a number e.g. 2. Desired output: ``` 17/189 (8.99%) ```

Original source