jQuery получить текст как число

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

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

HTML:

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

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

Каково решение?

33
задан James 23 August 2010 в 11:02
поделиться

5 ответов

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

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

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

var number = +($(this).find('.number').text());
112
ответ дан 27 November 2019 в 17:24
поделиться

myInteger = parseInt(myString);

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

13
ответ дан 27 November 2019 в 17:24
поделиться
var number = parseInt($(this).find('.number').text());
var current = 600;
if (current > number)
{
     // do something
}
1
ответ дан 27 November 2019 в 17:24
поделиться
number = parseInt(number);

Это должно помочь.

1
ответ дан 27 November 2019 в 17:24
поделиться

Используйте метод 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.

3
ответ дан 27 November 2019 в 17:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: