2015-10-07 2 views
0

Итак, я пытаюсь преобразовать строку в целое число в javascript, а затем сравнить ее с целочисленной переменной, которую я создал. Я много читал в Интернете, но пока ничего не получилось. Это мой код:Невозможно преобразовать строки в собственные целые числа в Javascript

var followedUsers = $('.ProfileNav-item.ProfileNav-item--following.is-active').find('.ProfileNav-value').html();

так, когда я печатаю followedUsers в консоли я получаю "1256". Я попытался ParseInt следующим образом:

var x = parseInt(followedUsers,10); 

Но когда я типа х в консоли я получаю 2. Да, это целое число, но не правильное число. Я также пробовал parseFloat. Это дает тот же результат. Этот тоже не сработал.

var x=parseInt(followedUsers.valueOf(),10); 

Я не знаю, если это что-то, но я просто возился с разными способами. Я видел вопрос другого парня. Таким образом, я дал этому выстрелу:

var x = +followedUsers 

Этот человек дал мне NaN.

var x = followedUsers*1 

Этот человек также дал мне NaN.

Я попытался преобразовать свое целочисленное значение в строку и сравнить их таким образом, но это не дает мне правильных выходов. У меня заканчиваются идеи, ребята, я что-то упустил? Изменение строки на целое не должно быть таким сложным, не так ли?

+1

Вы могли бы предоставить [Минимальный, полный и проверенный пример] (http://stackoverflow.com/ help/mcve), который демонстрирует проблему? В противном случае нам трудно сужаться, где проблема. (Так как 'console.log (parseInt (« 1256 », 10))', похоже, отлично работает.) – Serlite

+0

Вы пробовали просто «var x = +» 1256 »;'? Возможно, «followUsers» - это не то, что вы думаете. Все методы, которые вы опубликовали, работают только с «1256». – Tony

+0

Я держусь подальше от jQuery, насколько могу (по уважительной причине, очевидно), но я подозреваю, что 'html()' возвращает то, что на самом деле не является строкой. Не могли бы вы попробовать 'typeof followUsers' и' + followUsers.toString() '? – Touffy

ответ

0

Оказывается, что старый браузер в моей университетской компьютерной лаборатории не поддерживает ParseInt или любой другие методы, о которых я говорил выше. Он отлично работал, когда я пробовал его на других компьютерах. Хотя я считаю, что этот пост будет полезен любому, кто ищет конверсию, чтобы видеть все методы в одном месте.

-1

Попробуйте

var x = parseInt(followedUsers);

+0

Это эквивалентно тому, что ОП пытался с помощью 'parseInt (followUsers, 10)'. [Источник] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt) – Tony

+0

... за исключением того, что он не будет считать базу 10. –

+0

Кроме этого в этом случае ... Из моей исходной ссылки: если radix не определено или 0 (или отсутствует), JavaScript предполагает следующее: ...Если начальная строка начинается с любого другого значения, то радиус равен 10 (десятичный). – Tony

0

Попробуйте получить followedUsers с .val() InstEd из .html()

+0

Я не могу получить значение тега с .val() –

Смежные вопросы