提问人:Ashar 提问时间:3/27/2020 更新时间:3/27/2020 访问量:1780
无法在 Ansible jinja2 模板中检查大于条件的变量
Unable to check variable greater than condition in Ansible jinja2 template
问:
我的 jinja2 模板为变量生成正确的值
{{ vars[fruit | join("")] | default('ERR') }}
变量 fruit 的值为 83.6,由 Ansible 的模板模块打印。
我想在 jinja2 模板中编写一个 if 条件,我想在其中检查变量的值 果实70多
{% if ( vars[fruit | join("")] | int ) > 70 %}
超过 70
{% endif %}
但是,当我期望它成功时,“如果”条件会失败。
我还尝试了以下方法:
{% if ( vars[fruit | join("")] | int > 70 ) %}
我也试过了
{% if vars[fruit | join("")] | int > 70 %}
但是,他们都没有奏效。您能否让我知道需要做些什么来满足 if 条件?
答:
6赞
blhsing
3/27/2020
#1
筛选器不接受带点的字符串。您应该通过使用过滤器将其向下舍入来将其转换为浮点数:int
round
{% if ( vars[fruit | join("")] | round(method='floor')) > 70 %}
评论