我正在使用 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}}%)
或使用格式:
({{'%0.2f'| format(proc_err|float)}}%)
您可以使用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
请注意,即使四舍五入到0
精度,float
也会返回 a。如果您需要一个实整数,请将其通过管道传输int
:
{{ 42.55|round|int }}
-> 43
这是一种方法::
{{ "%.2f"|format(result) }}
随心所欲地调整它:)
(我假设您使用 Ionic v2)
使用这个前端代码:
<div *ngIf="device.usage > 0">
{{ Round(device.usage)}} min
</div>
并将以下函数放入 .ts 文件中:
Round(number):number
{
return parseFloat(Number((number/1000) / 60).toFixed(2));
}