一尘不染

Jinja模板-将浮点格式设置为以逗号分隔的货币

flask

我正在尝试将浮点格式设置为逗号分隔的货币。例如543921.9354变为$543,921.94。我format在Jinja模板中使用过滤器,它似乎模仿了%Python中的运算符,而不是Pythonformat函数?

如何在Jinja中完成这种格式化?可以使用format过滤器吗?到目前为止,这是我所能完成的,除了逗号之外,它可以完成所有事情:

"$%.2f"|format(543921.9354)

当然会产生

$543921.94


阅读 429

收藏
2020-04-07

共2个答案

一尘不染

果你使用的是python 2.7,则可能如下所示:

def format_currency(value):
    return "${:,.2f}".format(value)
2020-04-07
一尘不染

使用Jinja2和Python 3,这在模板中可以很好地工作,而无需定义任何自定义代码:

{{ "${:,.2f}".format(543921.9354) }}

我不确定确切需要什么依赖才能完成这项工作,但是恕我直言,其他阅读此答案的人至少可以在担心自定义过滤器之前至少尝试一下。

2020-04-07