无法在Ansible jinja2模板中检查变量是否大于条件

4
我的jinja2模板为变量生成了正确的值。
{{ vars[fruit | join("")] | default('ERR') }}

变量fruit的值为83.6,并通过Ansible的模板模块进行打印。
我希望在jinja2模板中编写一个if条件,以检查变量fruit的值是否大于70。
{% if ( vars[fruit | join("")] | int ) > 70 %}

超过70

{% endif %}

然而,当我期望它成功时,“if”条件却失败了。

我还尝试了以下内容:

{% if ( vars[fruit | join("")] | int  > 70 ) %}

我也尝试过。
{% if vars[fruit | join("")] | int  > 70 %}

但是,它们都没有起作用。请问您能告诉我满足if条件需要做什么吗?

1个回答

6

int 过滤器不接受带有小数点的字符串。你应该通过使用 round 过滤器向下舍入并将其转换为浮点数:

{% if ( vars[fruit | join("")] | round(method='floor')) > 70 %}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接