有没有办法不使用Ansible格式化Jinja2模板中的数字?

有没有办法不使用Ansible格式化Jinja2模板中的数字?,ansible,jinja2,Ansible,Jinja2,当使用Ansible在模板中时,Jinja2似乎在缩短数字,我在:role/x/vars/main.yml: var\u a:0.010101010101010101 在role/x/templates/a.txt.j2中:my_var_a={{{var_a}} 运行后,我将a.txt中的数字缩短为2(末尾缺少01): my_var_a=0.0101010101 有没有不格式化的方法?这不是Jinja的问题,而是Python(和C)中浮点数表示的问题 我在python中尝试了以下方法: >

当使用Ansible在模板中时,Jinja2似乎在缩短数字,我在:role/x/vars/main.yml:
var\u a:0.010101010101010101

在role/x/templates/a.txt.j2中:
my_var_a={{{var_a}}

运行后,我将a.txt中的数字缩短为2(末尾缺少01):
my_var_a=0.0101010101


有没有不格式化的方法?

这不是Jinja的问题,而是Python(和C)中浮点数表示的问题

我在python中尝试了以下方法:

>>> var_a= 0.010101010101010101
>>> print(var_a)
0.0101010101010101
因此,这个数字确实被截断了。我建议你读一下关于这个问题的解释

显示限制的另一个示例:

>>> 0.1 + 0.2
0.30000000000000004