【发布时间】:2013-07-31 05:15:14
【问题描述】:
我的模板中有以下代码:
data: [{% for deet in deets %} {{ deet.value*100|round(1) }}{% if not loop.last %},{% endif %} {% endfor %}]
我希望数据四舍五入到小数点后 1 位。但是,当我查看页面或源时,这是我得到的输出:
data: [ 44.2765833818, 44.2765833818, 44.2765833818, 44.2765833818, 44.2765833818, 44.2765833818, 44.2765833818, 44.2765833818, 44.2765833818, 44.2765833818 ]
这没有四舍五入到小数点后 1 位。它运行时没有模板错误或任何东西,但会产生不正确的输出。我的理解from the documentation,甚至a related stack overflow question,是我的格式应该有效。我错过了什么或做错了什么?
【问题讨论】:
-
看起来您的代码正在舍入
100而不是deet.value*100的 product。您可能更喜欢在代码中而不是在模板中进行乘法运算。 -
明白了,我同意你的观点,但我切换到 100*deet.value | round(3) 并为我解决了它。谢谢!
标签: python flask jinja2 template-engine