dan*_*ngr 4 python rounding jinja2
我不确定Jinja的限制,所以这可能是不可能的......我正在尝试计算我传给Jinja的两个变量的百分比,但我不能让它正确地圆.我想拥有的是:
{{ spygames / games|length * 100 | round(0) | int }}
Run Code Online (Sandbox Code Playgroud)
哪个得到正确的数字(66.666666,因为间谍游戏是2并且有3个游戏),但它呈现为"66.6666666667"(我在html中添加%符号)并且我希望它只是"67".
我也通过在python中获取游戏的长度并将其作为单独的整数值传递来尝试这一点,但它仍然具有相同的结果.
我怎样才能将其整数减少到一个整数?
谢谢!
Jinja文档没有指定任何优先规则,但我强烈怀疑过滤器仅应用于100它之前的文字.
对表达式进行分组以确保将过滤器应用于表达式的结果:
{{ (spygames / games|length * 100) | round(0) | int }}
Run Code Online (Sandbox Code Playgroud)
就个人而言,我会使用这个str.format()功能 ; 它有一个%百分比格式选项,包括乘以100:
{{ '{:.0%}'.format(spygames / games|length) }}
Run Code Online (Sandbox Code Playgroud)
这确实为输出添加了百分号.