JQuery получить текст в виде числа - PullRequest
33 голосов
/ 23 августа 2010

Этот код не работает:

var number = $(this).find('.number').text();
var current = 600;
if (current > number){
     // do something
}

HTML:

<div class="number">400</div>

Кажется, есть некоторая проблема с преобразованием text() из текстового значения в число.

Что такое решение?

Ответы [ 6 ]

107 голосов
/ 23 августа 2010

Всегда используйте parseInt с основанием (основание) в качестве второго параметра, иначе вы получите неожиданные результаты:

var number = parseInt($(this).find('.number').text(), 10);

Однако популярным вариантом является использование + в качестве унитарного оператора.Это всегда будет конвертировать с основанием 10 и никогда не выдавать ошибку, просто верните ноль NaN, что можно проверить с помощью функции isNaN(), если это неверное число:

var number = +($(this).find('.number').text());
13 голосов
/ 23 августа 2010

myInteger = parseInt(myString);

Это стандартная функция JavaScript.

3 голосов
/ 23 августа 2010

Используйте метод javascript parseInt (http://www.w3schools.com/jsref/jsref_parseint.asp)

var number = parseInt($(this).find('.number').text(), 10);
var current = 600;
if (current > number){
     // do something
}

Не забудьте указать значение радиуса 10, которое говорит parseInt, что оно в базе 10.

1 голос
/ 23 августа 2010
number = parseInt(number);

Это должно сработать.

1 голос
/ 23 августа 2010
var number = parseInt($(this).find('.number').text());
var current = 600;
if (current > number)
{
     // do something
}
0 голосов
/ 21 марта 2018

Если кто-то пришел сюда, пытаясь сделать это с десятичной дробью, как я:

myFloat = parseFloat(myString);

Если вам просто нужен Int, это хорошо освещено в других ответах.

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