我使用Flask / Jinja2模板使用 | float 过滤器显示数字。
这是我的代码
{% set proc_err = nb_err|length / sum * 100 %}
({{proc_err|float}}%)
输出有点尴尬:
17/189 (8.99470899471%)
我正在寻找一种方法,将点后的地方限制为一个数字,例如2。
期望的输出:
17/189 (8.99%)
答案 0 :(得分:62)
变得非常简单:
我的代码:
{% set proc_err = nb_err|length / sum * 100 %}
({{proc_err|float}}%)
可以改为:
{% set proc_err = nb_err|length / sum * 100 %}
({{'%0.2f' % proc_err|float}}%)
或使用 格式 :
({{'%0.2f'| format(proc_err|float)}}%)
上找到
答案 1 :(得分:47)
您可以使用round
将float
格式化为给定的精度。
摘自the docs:
round(value, precision=0, method='common')
将数字四舍五入到给定的精度。第一个参数指定精度(默认为0
),第二个参数指定舍入方法:
common
向上或向下滚动ceil
总是四舍五入floor
总是向下舍入如果您未指定使用方法common
。
{{ 42.55|round }}
-> 43.0
{{ 42.55|round(1, 'floor') }}
-> 42.5
请注意,即使舍入到0
精度,也会返回float
。如果您需要一个实数,请通过int
:
{{ 42.55|round|int }}
-> 43
答案 2 :(得分:7)
这是一种方法::
{{ "%.2f"|format(result) }}
随意调整它:)
答案 3 :(得分:-3)
(我假设您使用Ionic v2)
使用此前端代码:
<div *ngIf="device.usage > 0">
{{ Round(device.usage)}} min
</div>
并将以下函数放入.ts文件中:
Round(number):number
{
return parseFloat(Number((number/1000) / 60).toFixed(2));
}