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

Получение значения 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);
4b9b3361

Ответ 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