我在Flask中使用Jinja,我希望在我的所有html页面中默认使所有浮动看起来像123.45
,而不是在小数点后保留太多数字。我不想在模板文件中逐个格式化每个浮点数。我该怎么办?
答案 0 :(得分:1)
您可以使用 context processor 为此创建自定义过滤器。
我有解决这个问题的flask官方文档的副本。
return Array.isArray(input) ? input.flat().sort((a, b) => a.length - b.length) : input;
您可以使用此过滤器传递所有值
@app.context_processor
def utility_processor():
def format_price(amount):
return u'{0:.2f}{1}'.format(amount)
return dict(format_price=format_price)
希望回答。
答案 1 :(得分:0)
你也可以考虑使用十进制模块:
http://docs.python.org/2/library/decimal.html
这是一个从上述文档中摘录的快速示例:
>>> from decimal import *
>>> getcontext().prec = 2
>>> rounded_num = Decimal(1) / Decimal(7)
>>> rounded_num
Decimal('0.14')
通过使用此模块,应用程序中的所有浮点数将很好地转换为小数点后的两位数。