当前位置:  开发笔记 > 编程语言 > 正文

如何检查变量是否是Jinja2中的整数?

如何解决《如何检查变量是否是Jinja2中的整数?》经验,为你挑选了2个好方法。

目的是检查变量是否为整数,如果是,则插入hello.

尝试

{% if int(variable) %} hello {% endif %}

结果

'int' is undefined"

小智.. 10

对于任何使用Salt的人来说,当放入saltstack状态时,这对我来说不起作用.

{% if variable|number %} hello {% endif %}

这确实有效:

{% if variable is number %} hello {% endif %}


abigperson.. 6

要使用Jinja2 int内置过滤器(它将尝试将值转换为int):

您需要使用过滤器格式,如下所示:

{% if variable|int != 0 %} hello {% endif %}

默认情况下,如果强制转换为int失败,它将返回0,但是您可以通过将其他默认值指定为第一个参数来更改此值。在这里,对于0可能是有效值的情况,我将其更改为-1 variable

{% if variable|int(-1) != -1 %} hello {% endif %}

请参阅:Jinja2 Docs-内置内置过滤器以获取更多信息

要使用Jinja2 number内置测试(如果变量已经是数字,则返回true):

更好的解决方案int是使用内建测试number,而不是使用过滤器(后者会将类似字符串的整数转换为int):

{% if variable is number %} hello {% endif %}

请参阅:Jinja2文件-数字内置测试



1> 小智..:

对于任何使用Salt的人来说,当放入saltstack状态时,这对我来说不起作用.

{% if variable|number %} hello {% endif %}

这确实有效:

{% if variable is number %} hello {% endif %}



2> abigperson..:

要使用Jinja2 int内置过滤器(它将尝试将值转换为int):

您需要使用过滤器格式,如下所示:

{% if variable|int != 0 %} hello {% endif %}

默认情况下,如果强制转换为int失败,它将返回0,但是您可以通过将其他默认值指定为第一个参数来更改此值。在这里,对于0可能是有效值的情况,我将其更改为-1 variable

{% if variable|int(-1) != -1 %} hello {% endif %}

请参阅:Jinja2 Docs-内置内置过滤器以获取更多信息

要使用Jinja2 number内置测试(如果变量已经是数字,则返回true):

更好的解决方案int是使用内建测试number,而不是使用过滤器(后者会将类似字符串的整数转换为int):

{% if variable is number %} hello {% endif %}

请参阅:Jinja2文件-数字内置测试

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有