Почему parseInt не игнорирует первый символ или символ целочисленного значения - PullRequest
0 голосов
/ 09 апреля 2020

Попытка изменить строковое значение на целое в jQuery. Есть ли обходной путь, при котором parseInt игнорирует символ $ и вместо этого захватывает целое число / число 90,00?

var price =("$90.00");
var i = (price);
var j = parseInt(i);
console.log(j)

, ожидая результат: 90,00

output NAN

1 Ответ

1 голос
/ 09 апреля 2020

Если вы отметите здесь , вы увидите, что:

Если parseInt встречает символ, который не является цифрой в указанном основании, он игнорирует его и все последующие символов и возвращает целочисленное значение, проанализированное до этой точки. parseInt усекает числа до целых значений. Разрешены пробелы в начале и в конце.

Поскольку $ не является допустимым числовым символом - parseInt проигнорирует его и все последующие символы, и вы фактически получите parseInt в пустой строке - parseInt(''), что приводит к NaN.

console.log(parseInt(''));

Если вы знаете, что ваши строки содержат только знак доллара, и вы хотите удалить его, вы можете использовать функцию replace, чтобы сделать это:

const price = "$90.0";
console.log(parseInt(price.replace(/\$/, '')));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...