Bac*_*alo 14 apache-flex flash
不确定这是否有意义,但我需要检查返回的服务器值是否实际上是一个数字.现在我将所有数字值作为字符串返回,即'7'而不是7.
检查字符串值是否可以实际转换为数字的最简单方法是什么?
Dan*_*Dan 24
最简单的方法是将字符串实际转换为数字并测试它是否为NaN.如果查看Flex API引用,顶级Number()函数表示如果传递给方法的字符串无法转换为Number,它将返回NaN.
幸运的是,Flex(有点)使用isNaN()函数为您完成此操作.你需要做的就是:
var testFlag:Boolean = isNaN( someStringThatMightBeANumber );
Run Code Online (Sandbox Code Playgroud)
如果testFlag为false,则可以将字符串转换为数字,否则无法转换.
编辑
如果在严格模式下编译,上述操作将无效.相反,您需要先转换为Number,然后检查NaN,如下所示:
var testFlag:Boolean = isNaN( Number( someStringThatMightBeANumber ) );
Run Code Online (Sandbox Code Playgroud)
One*_*erd 16
没有测试过,但这应该工作:
if( isNaN(theString) ) {
trace("it is a string");
} else {
trace("it is a number");
}
Run Code Online (Sandbox Code Playgroud)
如果您使用AS3和/或严格模式(由back2dos指出),您需要先转换为数字才能进行编译:
if( isNaN(Number(theString)) ) {
trace("it is a string");
} else {
trace("it is a number");
}
Run Code Online (Sandbox Code Playgroud)
你可以注意到在actionscript中:
trace(int('7')); // will return 7
Run Code Online (Sandbox Code Playgroud)
和
trace(int('a')); // will return 0
Run Code Online (Sandbox Code Playgroud)
因此,除了零之外,现在您实际上可以判断字符串是否是数字
| 归档时间: |
|
| 查看次数: |
36944 次 |
| 最近记录: |