Подтвердить что ты не робот

Попытка изменить строку → int

Я пытаюсь использовать javascript для изменения string на int.

var intVal = gSpread1.Text * 1;

Я хочу intVal Тип int.

Я могу получить значение int, если gSpread1.Text меньше 1000.

Но если gSpread1.Text больше 1000, intVal возвращает NaN

Каков правильный способ использования ParseInt, чтобы он всегда возвращал значение int?

4b9b3361

Ответ 1

Пробовал ли вы intVal = parseInt(gSpread1.Text, 10);

10 называется основанием и указывает используемую систему цифр.

ОБНОВЛЕНИЕ: Также есть полезный ярлык с использованием символа +.
например: +gSpread1.Text преобразует строку в число. И вернет integer или float в зависимости от строкового значения.

Ответ 2

В JavaScript нет типа int. Только номер. parseInt отлично, если у вас есть не десятичное число, или у вас может быть хвост мусора в строке типа "5asdkfkasdk". Но для общего случая, когда вы знаете, что ваша строка - это только десятичные цифры, я предпочитаю использовать конструктор Number(). Он выглядит более элегантным, и он более знаком с программистами на C и Python, которые делают много кастинга.

var numericValue = Number("100000");
var numericValue2 = parseInt("100000", 10);

Они дают один и тот же результат одного и того же типа.

Ответ 4

Следующий код работает для меня:

var intVal = parseInt("100000");
alert(intVal);

Возможно, разместите свой нерабочий код? Проблема может быть в другом месте.

Ответ 5

Если вы уверены, что ваша строка содержит int, вы можете использовать только один +

var n = "455";
n = +n; // now n is integer