Как определить число из значения переменной?

Я получаю значение переменной:

var val=document.getElementById('ctl00_ContentPlaceHoldermain_TextBox1').value;

В моем коде я проверяю тип каждого символа, используя type of. Но всегда возвращается только строка. Как определить номер?

2 ответа

Ты можешь использовать parseInt или же parseFloat, Если parseInt(str) возвращается NaN так что ваша строка не является числом.

Вы можете использовать только для строк, которые содержат только цифры: parseInt('123'), Если возможно, что ваша строка может содержать буквы, так что вы можете получить некоторые проблемы:

parseInt('123') // -> 123
parseInt('123asd') // '123asd' is not a number but parseInt returns 123

Так что более простой способ заключается в использовании jQuery "s isNumeric функционировать или реализовать это самостоятельно

Вы можете увидеть больше об этом по ссылке в комментарии @Rahat.

Также вы можете увидеть в этом блоге

Я согласен с альтернативным ответом, но я думаю, parseInt а также parseFloat следует использовать для разбора, потому что они предназначены для этого. isNaN Функция может дать вам функциональность проверки чисел.

function isNumber(val) {
  if(val == "") {
    return false;
  }
  return !isNaN(val);
}

Согласно комментарию, если вы хотите выбрать число из массива, вы можете просто создать цикл и вызвать его внутри. например

var vals = ['dsds','2','','4'];
for (var i = 0; i<vals.length; i++) {
  if(isNumber(vals[i]) {
    // it's number
  }
  else {
    // it's not number;
  }
}
Другие вопросы по тегам