【发布时间】:2018-02-19 01:12:00
【问题描述】:
我已经用谷歌搜索并在这里搜索过,但找不到我理解的解释。我有一个值被传递到 html 模板中,其值为 53.0,该值是从第 3 方 API 获得的。
我的代码是:
£{{product_details.UnitPrice}}
显示 53.0 英镑,有没有办法将其格式化为小数点后 2 位浮点数,以便正确读取 53.00 英镑。
我尝试从 github 阅读一些说明 here,但我不明白它们。我试图避免在我的实际 Python 代码中分别格式化每个变量,或者这是错误的方法吗?
我正在编辑问题,因为根据我的评论:
£{{product_details.UnitPrice|float}}
没有任何区别,我不明白给出的链接。
【问题讨论】:
-
我已经读过它,它对我的上下文没有意义。 £{{product_details.UnitPrice|float}} 没有区别。
-
看看我链接的具体答案 - 它提到了这样做:
{{'%0.2f'| format(proc_err|float)}}%。在这个问题的上下文中,它看起来像£{{'%0.2f'|format(product_details.UnitPrice|float)}}。 -
谢谢杰克,这确实解决了问题,但不能帮助我理解这里发生的事情或其他可能的选择。在 github 中它说“在 jinja2 中实现的格式过滤器无论如何都是多余的。如果可以的话,我会弃用并最终删除它,但 mitsuhiko 不会让我破坏向后兼容性。每当我必须在模板中格式化字符串时,我使用内联的模运算符。”我不明白这样做的正确方法。
-
看起来使用内联模运算符的方式是这样的:
£{{'%0.2f' % product_details.UnitPrice}}。