You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将整数变量转为first_digit.second_digit格式?Ansible模板报错解决

解决Ansible中整数转x.y格式字符串的问题

你的代码报错是因为Jinja2模板语法错误:管道符|用于调用过滤器,但你直接在后面写php[0]+'.'+php[1]不符合语法规范,且转字符串的写法也存在问题。

以下两种正确实现方式:

方式一:字符串切片法

先将整数转为字符串,再通过索引取首尾两位拼接:

- name: Install PHP > 5.6
  apt: 
    name: 
      - "php{{ (php | string)[0] }}.{{ (php | string)[1] }}"
  when: php > 56
  • 逻辑:php | string把整数变量转为字符串类型,[0]取第一位数字,[1]取第二位数字,用.拼接成目标格式。

方式二:数学运算法

通过整除和取余拆分两位数的十位与个位,无需转字符串:

- name: Install PHP > 5.6
  apt: 
    name: 
      - "php{{ php // 10 }}.{{ php % 10 }}"
  when: php > 56
  • 逻辑:php // 10对10做整除运算得到十位数字,php % 10取10的余数得到个位数字,直接拼接即可。

两种方法都能实现将56转为5.6、71转为7.1的需求,若你的php变量确定为两位数,任选其一即可。

内容的提问来源于stack exchange,提问作者EternalOriole

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 15:06:06