首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >确定字符串是否不是空/空的,并且是数字而不是0?

确定字符串是否不是空/空的,并且是数字而不是0?
EN

Stack Overflow用户
提问于 2011-10-14 01:13:13
回答 4查看 21.5K关注 0票数 5

我通常不在ColdFusion中工作,但是有一个FTP进程在工作,我必须为它创建一个报告,现在唯一的选择就是ColdFusion 8服务器。此FTP提要有几个问题(也是垃圾)。

因此,我进行了查询,然后需要在输出过程中转换一些字符串值,以便进行一些数学运算。在此之前:

如何判断输出循环中的字段:不是空白或null,是可以转换为有效数字的字符串,并且不是0?

有没有一种简单的方法可以在没有很多if语句的情况下做到这一点?

谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-14 01:26:07

因此,您希望确保变量是数字而不是零?

然后你想要这个:

代码语言:javascript
代码运行次数:0
运行
复制
<cfif IsNumeric(MyVar) AND MyVar NEQ 0 >
票数 10
EN

Stack Overflow用户

发布于 2011-10-25 04:13:37

确定字符串是否不是空/空的,并且是数字而不是0?

下面是我在本例中使用的代码。

代码语言:javascript
代码运行次数:0
运行
复制
<cfif isDefined(stringVar) and len((trim(stringVar))) and isNumeric(stringVar)>
    do stuff here
</cfif>

如果变量存在,则isDefined返回true。如果你知道变量的作用域,例如,它的形式或url作用域,你可以使用structkeyExists( form,"stringVar")。如果您知道变量的作用域,我建议您使用这种方法。

Len(trim(stringVar))是第二个检查。首先,它从字符串中删除所有前导或尾随空格-这确保不会传递任何空变量。然后如果有东西在那里,它将返回字符串的长度。如果它的空len将返回0。

如果变量是数字,则isNumeric(stringVar)返回true,否则返回false。

票数 5
EN

Stack Overflow用户

发布于 2011-10-14 01:20:48

代码语言:javascript
代码运行次数:0
运行
复制
<cfif Len(field) and Val(field)>

Len()将验证字段是否具有长度(非空--CF中没有NULL),Val()将自动将字符串中的第一个字符转换为数字--如果不能,则返回0。

请注意Peter下面的评论;虽然这是最简单的答案,但Val()在下面的某些边缘条件下可能会失败。该字段是一个字符串,但以数字开头,错误地将其转换为数字,并计算为TRUE。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7757827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档