无法检查大于Ansible jinja2模板中条件的变量

问题描述 投票:0回答:1

我的jinja2模板为变量产生正确的值

{{ vars[fruit | join("")] | default('ERR') }}

可变水果的值为83.6,并由Ansible的模板模块打印。

我想在jinja2模板中写一个if条件,我要检查变量的值水果超过70

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

超过70]

{%endif%}

但是,如果我希望条件成功,那么'if'条件就会失败。

我也尝试了以下方法:

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

我也尝试过

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

但是,它们都不起作用。您能否让我知道满足if条件需要做什么?

我的jinja2模板为变量{{vars [fruit | join(“”)] | default('ERR')}}变量fruit的值为83.6,由Ansible的模板模块打印。我希望...

templates ansible conditional-statements comparison jinja2
1个回答
0
投票

int过滤器不接受带点的字符串。您应该将其转换为浮点数,而不是使用round过滤器将其四舍五入:

© www.soinside.com 2019 - 2024. All rights reserved.