Flask/Jinja2テンプレートを使用して、floatフィルターを使用して数値を表示しています。
ここに私のコードがあります
{% set proc_err = nb_err|length / sum * 100 %}
({{proc_err|float}}%)
出力は少し厄介です:
17/189 (8.99470899471%)
ドットの後の場所を数字に制限する方法を探しています。 2。
望ましい出力:
17/189 (8.99%)
それは非常に簡単になります:
私のコード:
{% set proc_err = nb_err|length / sum * 100 %}
({{proc_err|float}}%)
以下で少し変更できます:
{% set proc_err = nb_err|length / sum * 100 %}
({{'%0.2f' % proc_err|float}}%)
またはformatを使用:
({{'%0.2f'| format(proc_err|float)}}%)
参照はここにあります jinja2 github issue 7
round
を使用して、float
を指定の精度にフォーマットできます。
ドキュメント から抽出:
round(value, precision=0, method='common')
指定された精度に数値を丸めます。最初のパラメーターは精度を指定し(デフォルトは0
)、2番目は丸め方法です:
common
は切り上げまたは切り捨てceil
は常に切り上げられますfloor
は常に切り捨てられますメソッドを指定しない場合、common
が使用されます。
{{ 42.55|round }}
-> 43.0
{{ 42.55|round(1, 'floor') }}
-> 42.5
0
精度に丸められた場合でも、float
が返されることに注意してください。実数の整数が必要な場合は、int
にパイプしてください:
{{ 42.55|round|int }}
-> 43
ここに1つのアプローチがあります::
{{ "%.2f"|format(result) }}
好きなように微調整してください:)