Как определить число из значения переменной?
Я получаю значение переменной:
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;
}
}