Получение значения Integer из строки с использованием javascript/jquery
Это строки, которые у меня есть:
"test123.00"
"yes50.00"
Я хочу добавить 123.00 с 50.00.
Как я могу это сделать?
Я использовал команду parseInt(), но она отображает ошибку NaN в поле предупреждения.
Это код:
str1 = "test123.00";
str2 = "yes50.00";
total = parseInt(str1)+parseInt(str2);
alert(total);
Ответы
Ответ 1
просто сделайте это, вам нужно удалить char, кроме "numeric" и "." форма вашей строки будет работать для вас
yourString = yourString.replace ( /[^\d.]/g, '' );
ваш окончательный код будет
str1 = "test123.00".replace ( /[^\d.]/g, '' );
str2 = "yes50.00".replace ( /[^\d.]/g, '' );
total = parseInt(str1, 10) + parseInt(str2, 10);
alert(total);
Ответ 2
Чтобы parseInt работал, ваша строка должна иметь только числовые данные. Что-то вроде этого:
str1 = "123.00";
str2 = "50.00";
total = parseInt(str1)+parseInt(str2);
alert(total);
Можете ли вы разбить строку до того, как вы начнете ее обрабатывать в общей сложности?
Ответ 3
str1 = "test123.00";
str2 = "yes50.00";
intStr1 = str1.replace(/[A-Za-z$-]/g, "");
intStr2 = str2.replace(/[A-Za-z$-]/g, "");
total = parseInt(intStr1)+parseInt(intStr2);
alert(total);
работает Jsfiddle
Ответ 4
Является ли это логически возможным?.. Я предполагаю, что подход, который вы должны предпринять, таков:
Str1 ="test123.00"
Str2 ="yes50.00"
Это невозможно будет решить, если у вас есть разделитель между test
и 123.00
eg: Str1 = "test-123.00"
Затем вы можете разделить этот путь
Str2 = Str1.split("-");
Это вернет вам массив слов, разделенных с помощью "-"
Затем вы можете сделать parseFloat(Str2[1])
, чтобы получить плавающее значение i.e 123.00