我正在使用Flask/Jinja2模板使用|float
过滤器来展示一个数字。
这是我的代码:
{% set proc_err = nb_err|length / sum * 100 %}
({{proc_err|float}}%)
输出有些别扭:
17/189 (8.99470899471%)
我正在寻找一种方法,使小数点后的数字限制为例如2位。
期望输出:
17/189 (8.99%)
我正在使用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 70中找到参考资料。
您可以使用 round
将 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
。如果您需要真正的整数,请将其通过int
管道传输:{{ 42.55|round|int }}
-> 43
Decimal()
值,否则round(2)
永远不会返回'42.00'。 - lol这里是一个方法::
{{ "%.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));
}