有没有办法测试一个字符串,比如下面的字符串,看它是否是实际的数字值?是否有函数来测试一个字符串变量是否是一个数值?
var theStr:String = '05';
我想字符串值上方,一个像这样的区分:
var theStr2:String = 'asdfl';
谢谢!
有没有办法测试一个字符串,比如下面的字符串,看它是否是实际的数字值?是否有函数来测试一个字符串变量是否是一个数值?
var theStr:String = '05';
我想字符串值上方,一个像这样的区分:
var theStr2:String = 'asdfl';
谢谢!
是使用isNaN
功能测试,如果它的String
是一个有效的Number
:
var n:Number=Number(theStr);
if (isNaN(n)){
trace("not a number");
} else {
trace("number="+n);
}
如果你只是感兴趣,检查整数,你可以使用匹配函数如下,用于数字的正则表达式是更复杂按照Patrick提供的投射方法,你可能会更好。
if (s.match(/^\d+$/)){//do something}
当然,如果您需要投射它,那么使用isNaN是非常有意义的。只是以为我会提供一个替代方案,以防你不打算放弃它。
如果s仅包含数字(不包含空格,小数点,字母等),并且要求至少有1位数字,则此代码将返回true。
您必须投下Number
以得到NaN
。如果您使用int
,则可以将字母转换为0
。
惊讶的没有人发现了这个,但val应该是var。不会让我只改变一个字符=/ – Rjs37 2013-12-10 10:02:25
不错的地方;)我猜太多了Scala – Patrick 2013-12-10 12:10:12