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 次 |
| 最近记录: |