Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Преобразование в int (https://javascript.ru/forum/dom-window/51119-preobrazovanie-v-int.html)

sloyi 24.10.2014 15:35

Преобразование в int
 
Ребят подскажите как преобразовать строковую переменную в int если в строке ест ьпробел например :

var perem = 1 406 руб.


если сделать так
peremenaya= parseInt(perem);

он выдаст 1 т.к. есть пробел, а как получиьт все число?

sloyi 24.10.2014 15:38

Еще есть вопросик. можно ли сделать событие на изменение допустим блока
<div class='sum'></div>

если этот див изменился то мы выполняем какое либо действие

ksa 24.10.2014 15:41

Цитата:

Сообщение от sloyi
как преобразовать строковую переменную в int если в строке ест ьпробел

Как вариант...

var perem = '1 406 руб.'
alert(parseInt(perem.replace(/\s+/gm,'')));

ksa 24.10.2014 15:42

Цитата:

Сообщение от sloyi
можно ли сделать событие на изменение допустим блока

Нет такого события... :no:

sloyi 24.10.2014 15:43

Понятно спасибо большое))))

Aetae 24.10.2014 15:43

1. Предварительно очистить от не-цифр:
parseInt(perem.replace(/\D/g,''))
2. Можно но не нужно. Блок сам по себе меняться не может, его меняет какой-то код, и дополнения, соответственно, следует вносить именно туда. Исключением(и то не всегда) тут может быть только userscript.

Цитата:

Сообщение от ksa (Сообщение 337338)
Нет такого события... :no:

События почти нет(ибо deprecated), а вот observer есть. Но, см. выше.

sloyi 24.10.2014 17:47

Всем большое спасибо. Помогли оба способа работают.

terminator-101 24.10.2014 21:59

Цитата:

Сообщение от sloyi
если этот див изменился то мы выполняем какое либо действие

Его можно очень легко свелосипедить используя, например, setInterval. Только интервал ставь как можно больше, по возможности,чтобы производительность не падала. В цикле setInterval проверяешь содержимое блока на предмет изменения, если изменился, вызываешь действие, вот и все.

Aetae 25.10.2014 03:22

terminator-101, это самый плохой вариант из возможных.

terminator-101 25.10.2014 03:45

Aetae,
Почему?


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