我下面有一部剧本。我需要不带小数的输出。
num: 100
var1: "{{ num / 10 |int }}"
实际输出:
10.0
预期输出:
10
Ansible版本2.7
答案 0 :(得分:0)
Jinja中的|
运算符绑定非常紧密。在这种情况下,您实际上是在执行操作:
100 / (10|int)
当您真正想要的是:
(100/10)|int
您可以使用括号对术语进行适当分组。以下剧本对此进行了演示:
- hosts: localhost
gather_facts: false
vars:
num: 100
tasks:
- debug:
msg: "{{ num/10|int }}"
- debug:
msg: "{{ (num/10)|int }}"
运行将产生以下输出:
PLAY [localhost] ********************************************************************
TASK [debug] ************************************************************************
ok: [localhost] => {
"msg": "10.0"
}
TASK [debug] ************************************************************************
ok: [localhost] => {
"msg": "10"
}
PLAY RECAP **************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0