Есть ли функция для проверки, является ли строковая переменная числовым значением? - PullRequest
6 голосов
/ 16 июня 2010

Есть ли способ проверить строку, например, приведенную ниже, чтобы узнать, является ли она действительным числовым значением?

var theStr:String = '05';

Я хочу провести различие между строковым значением выше и таким, как это:

var theStr2:String = 'asdfl';

Спасибо!

Ответы [ 3 ]

13 голосов
/ 16 июня 2010

Да, используйте функцию isNaN, чтобы проверить, является ли String действительным Number:

var n:Number=Number(theStr);
if (isNaN(n)){
 trace("not a number");
} else {
 trace("number="+n);
}
2 голосов
/ 25 марта 2011

Вы должны привести к Number, чтобы получить NaN.Если вы используете int, буквы могут быть преобразованы в 0.

0 голосов
/ 17 июня 2010

Если вы просто заинтересованы в проверке целых чисел, вы можете использовать функцию соответствия следующим образом: регулярное выражение для чисел сложнее, и вам, вероятно, будет лучше следовать методу приведения, который предоставил Патрик.

if (s.match(/^\d+$/)){//do something}

Конечно, если вам все равно понадобится разыграть его, тогда использование isNaN имеет смысл. Просто подумал, что предложу альтернативу на случай, если ты не собираешься ее разыграть.

Этот код вернет true, если s содержит только цифры (без пробелов, десятичных дробей, букв и т. Д.) И требует, чтобы была хотя бы одна цифра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...