提问人:southwind 提问时间:8/21/2023 最后编辑:U880Dsouthwind 更新时间:8/21/2023 访问量:114
如何将字符串变量转换为整数?
How to convert a string variable into integer?
问:
我正在尝试将 var 转换为整数,但它仍然显示为字符串。我试过了,但仍然没有运气。start_time
| int
这个变量作为字符串从另一个系统进入 AWX,我需要在我的剧本中转换/转换为整数。我需要与 相同的输出。stop_time
谁能帮忙?谢谢
- name: Set Vars conditions
hosts: localhost
vars:
start_time: "0700"
stop_time: 1900
tasks:
- name: Print start time
ansible.builtin.debug:
msg: "{{ start_time }}"
- name: Print stop time
ansible.builtin.debug:
msg: "{{ stop_time }}"
- ansible.builtin.set_fact:
set_start_time: "{{ start_time | int}}"
- ansible.builtin.debug:
msg: "{{ set_start_time }}"
输出:
TASK [Print start time] ********************
task path: /runner/project/vars_check.yml:7
ok: [localhost] => {
"msg": "0700"
}
TASK [Print stop time] *********************
task path: /runner/project/vars_check.yml:10
ok: [localhost] => {
"msg": 1900
}
TASK [ansible.builtin.set_fact] ************
task path: /runner/project/vars_check.yml:13
ok: [localhost] => {
"ansible_facts": {
"set_start_time": "700"
},
"changed": false
}
TASK [ansible.builtin.debug] ***************
task path: /runner/project/vars_check.yml:15
ok: [localhost] => {
"msg": "700"
}
答:
1赞
U880D
8/21/2023
#1
如何将字符串var转换为整数?...我试过
| int
...
是的,这是强制数据类型的正确方法,你差不多了。
请注意set_fact
模块
使用该设置会将 k=v 限制为字符串...
这意味着一项任务
- ansible.builtin.set_fact:
set_start_time: "{{ start_time | int}}"
将以字符串结束。
我需要在我的剧本中转换/转换为整数。
您只需要在必要时转换为整数,但在此之前不需要。最小的示例 playbook
---
- hosts: localhost
become: false
gather_facts: false
vars:
start_time: "0700"
tasks:
- name: Show value
debug:
msg: "Start time is {{ start_time | int }} and of type {{ start_time | int | type_debug }}"
将导致
TASK [Show value] **********************
ok: [localhost] =>
msg: Start time is 700 and of type int
评论
0赞
U880D
8/25/2023
也许你也可以看看当有人回答我的问题时我该怎么办?。
评论