我在 Flask 中使用 Jinja,我想让所有的浮点数123.45
在我的所有 html 页面中默认看起来像,而不是在小数点后保留太多数字。我不想在模板文件中一一格式化每个浮点数。我该怎么做 ?
问问题
1493 次
2 回答
1
您可以使用上下文处理器为此创建自定义过滤器。
我有烧瓶官方文档的副本来解决这个问题。
@app.context_processor
def utility_processor():
def format_price(amount):
return u'{0:.2f}{1}'.format(amount)
return dict(format_price=format_price)
您可以使用此过滤器传递所有值
{{ format_price(0.33) }}
希望回答。
于 2021-03-31T13:40:20.447 回答
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')
通过使用这个模块,应用程序中的所有浮点数都将很好地转换为小数点后两位数。
于 2013-01-09T17:17:14.317 回答