Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Выбрать число из строчки (https://javascript.ru/forum/misc/61665-vybrat-chislo-iz-strochki.html)

Castromen 01.03.2016 10:45

Выбрать число из строчки
 
Добрый день.
имеется переменная Amount_of_dogovor с текстовым значением 7550856854р.
Как его преобразовать в чиcло и сложить с другой переменной.

var Amount_of_dogovor = $(".ms-formtable td").eq(5).text(); //7550856854р.
Amount_of_dogovor = parseInt(Amount_of_dogovor,100)//.replace('р.');
document.getElementById('Ostatoc_oplati').innerHTML =Amount_of_dogovor; //NAN



Спасибо.

AciDWarrioR 01.03.2016 10:59

Castromen,
<!DOCTYPE html>
<html lang="en">
<head>
	<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
</body>
</html>
<script>
 	var Amount_of_dogovor = "7550856854р";
 	var number = Amount_of_dogovor.substring(0, Amount_of_dogovor.length - 1);
 	var number2 = 1;
 	var number3 = 10;
 	var sum1 = number2 - (-number);
 	var sum2 = number3 - (-number);
 	alert("summa1 =" + sum1 + " summa2 =" + sum2);
</script>

laimas 01.03.2016 11:01

parseInt("7550856854р")

Dilettante_Pro 01.03.2016 11:05

Castromen,
Похоже, у вас в исходных данных что-то другое, так как
<script>
var Amount_of_dogovor = "7550856854р";
Amount_of_dogovor = parseInt(Amount_of_dogovor);
alert(Amount_of_dogovor);
</script>

или не хватает ; в завершении второй строки

Castromen 01.03.2016 12:25

9 692 978 185,70р.

var Amount_of_dogovor= $(".ms-formtable td").eq(5).text().trim();//Убираю пробелы 
Amount_of_dogovor = Amount_of_dogovor.replace('р.',' ');
var Test = 100;
alert((Amount_of_dogovor)+Test);


На выходе получается 9 692 978 185,70 100

Dilettante_Pro 01.03.2016 12:52

<script>
var Amount_of_dogovor = "9 692 978 185,70р.";
    Amount_of_dogovor = Amount_of_dogovor.replace(/ /g,''); //Убираю пробелы 
    Amount_of_dogovor = Amount_of_dogovor.replace('р.','');
    Amount_of_dogovor = Amount_of_dogovor.replace(',','.');

    var Test = 100;
    alert(parseFloat(Amount_of_dogovor) + Test);
</script>

Dilettante_Pro 01.03.2016 14:18

То же самое с одним replace
<script>
    var Amount_of_dogovor = "9 692 978 185,70р.";
    Amount_of_dogovor = Amount_of_dogovor.replace(/ |(р.)|,/g, function (str) {
        if (str == ",") return ".";
        else return "";
    }
    );   //Убираю пробелы, рубли, меняю запятую на точку

    var Test = 100;
    alert(parseFloat(Amount_of_dogovor) + Test);
</script>


Часовой пояс GMT +3, время: 17:12.