Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates Jinja2 Ansible模板-需要帮助从变量中删除小数点吗_Templates_Ansible_Decimal_Jinja2_Rounding - Fatal编程技术网

Templates Jinja2 Ansible模板-需要帮助从变量中删除小数点吗

Templates Jinja2 Ansible模板-需要帮助从变量中删除小数点吗,templates,ansible,decimal,jinja2,rounding,Templates,Ansible,Decimal,Jinja2,Rounding,我正在尝试为一个应用程序构建一个配置文件,该应用程序将提取ansible_memtotal_mb变量,并获取该值的50%,并将其用于服务器进程。挑战在于数学不可避免地返回小数点。应用程序配置文件不喜欢小数位,所以我需要去掉它。这是我尝试做的一个例子。其中percona_memory_pool=“{{ansible_memtotal_mb*ram_multiplier}” 关键是要确保最终结果转换为int,而不是以小数点显示的浮点 下面是一个仅使用过滤器的示例。(注意:我没有改变你的计算逻辑,但它

我正在尝试为一个应用程序构建一个配置文件,该应用程序将提取ansible_memtotal_mb变量,并获取该值的50%,并将其用于服务器进程。挑战在于数学不可避免地返回小数点。应用程序配置文件不喜欢小数位,所以我需要去掉它。这是我尝试做的一个例子。其中percona_memory_pool=“{{ansible_memtotal_mb*ram_multiplier}”


关键是要确保最终结果转换为int,而不是以小数点显示的浮点

下面是一个仅使用过滤器的示例。(注意:我没有改变你的计算逻辑,但它看起来并没有给出一致的结果)

其中:

$ ansible-playbook playbook.yml -e percona_memory_pool=16383

PLAY [localhost] ********************************************************************************************************************************************************************************************************************************************************

TASK [debug] ************************************************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "msg": "8"
}

PLAY RECAP **************************************************************************************************************************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

$ ansible-playbook playbook.yml -e percona_memory_pool=16384

PLAY [localhost] ********************************************************************************************************************************************************************************************************************************************************

TASK [debug] ************************************************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "msg": "2"
}

PLAY RECAP **************************************************************************************************************************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
---
- hosts: localhost
  gather_facts: false

  tasks:
    - debug:
        msg: "{{
          (percona_memory_pool | int >= 16384)
          | ternary((percona_memory_pool | int / 8192), 8)
          | round
          | int
        }}"
$ ansible-playbook playbook.yml -e percona_memory_pool=16383

PLAY [localhost] ********************************************************************************************************************************************************************************************************************************************************

TASK [debug] ************************************************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "msg": "8"
}

PLAY RECAP **************************************************************************************************************************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

$ ansible-playbook playbook.yml -e percona_memory_pool=16384

PLAY [localhost] ********************************************************************************************************************************************************************************************************************************************************

TASK [debug] ************************************************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "msg": "2"
}

PLAY RECAP **************************************************************************************************************************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0