Bla*_*ise 48 wsgi jinja2 flask
我使用Flask/Jinja2模板使用| float过滤器显示数字.
这是我的代码
{% set proc_err = nb_err|length / sum * 100 %}
({{proc_err|float}}%)
Run Code Online (Sandbox Code Playgroud)
输出有点尴尬:
17/189 (8.99470899471%)
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法,使点后的地方限制为数字,例如2.
期望的输出:
17/189 (8.99%)
Run Code Online (Sandbox Code Playgroud)
Bla*_*ise 66
它变得非常简单:
我的代码:
{% set proc_err = nb_err|length / sum * 100 %}
({{proc_err|float}}%)
Run Code Online (Sandbox Code Playgroud)
可以改变一点:
{% set proc_err = nb_err|length / sum * 100 %}
({{'%0.2f' % proc_err|float}}%)
Run Code Online (Sandbox Code Playgroud)
或使用格式:
({{'%0.2f'| format(proc_err|float)}}%)
Run Code Online (Sandbox Code Playgroud)
可以在jinja2 github issue 70上找到参考
Pao*_*llo 53
您可以使用round
将a格式化为float
给定的精度.
从文档中提取:
round(value, precision=0, method='common')
将数字四舍五入到给定的精度.第一个参数指定精度(默认为0
),第二个参数指定舍入方法:
common
向上或向下舍入ceil
总是围捕floor
总是向下舍入如果未指定使用方法common
.
{{ 42.55|round }}
-> 43.0
{{ 42.55|round(1, 'floor') }}
-> 42.5
Run Code Online (Sandbox Code Playgroud)
请注意,即使舍入到0
精度,float
也会返回a.如果你需要一个真正的整数,请通过它int
:
{{ 42.55|round|int }}
-> 43
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
42923 次 |
最近记录: |