gpt4 book ai didi

python - Jinja2 将 float 转换为小数中间计算

转载 作者:太空宇宙 更新时间:2023-11-03 17:50:03 24 4
gpt4 key购买 nike

由于一些糟糕的设计决策(不是我自己做出的),我遇到了一个小小的难题。

我从之前的数据库查询中得到了一些代码......

{{ order.pa_tranlength * order.pa_width * order.pa_costprice }}

这工作得很好,但是数据库所有者现在已经升级了数据库结构,最后一个值 order.pa_costprice 现在是 float ,其他两个变量是小数。有没有办法可以在计算过程中将 order.pa_costprice 转换为小数。

我尝试过类似的事情..

{{ order.pa_tranlength * order.pa_width * "%d" order.pa_costprice}}

这显然不能作为字符串值工作(我匆忙进行了测试,但无济于事),但您可以了解我正在尝试做什么。

这个循环非常大,并且直接来自数据库查询,因此我试图找到一个解决方案,这意味着在查询结果到达模板之前我不必修改任何代码。

Jinja2 内部是否有可行的解决方案?

最佳答案

您不会修改查询的代码,但如果您可以更改代码,则可以创建 template filter :

@app.template_filter('to_decimal')
def to_decimal_filter(f):
return decimal.Decimal(f)

所以:

{{ order.pa_tranlength * order.pa_width * order.pa_costprice }}

变成:

{{ order.pa_tranlength * order.pa_width * order.pa_costprice|to_decimal }}

关于python - Jinja2 将 float 转换为小数中间计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29238781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com