Подскажите по js
292 повідомлення
#14 років тому
Затуп тут случился у меня.Не могу правильно приплюсануть к переменной значение.
Делаю так:
var price_cart=price_cart+1000;
получаю в html: "значение price_cart" 1000, т.е. у меня всесто того, что бы складывать, просто объединяет строки.
Понимаю, что вопрос тупой, но все же

203 повідомлення
1599 повідомлень
292 повідомлення
#14 років тому
Цитата ("Paralysed"):И чо вы хотите, когда + строку к строке? Какой тип у price_cart?
число. тупо нада сложить 2 числа. потому и пишу что пипец туплю.
1599 повідомлень
#14 років тому
Цитата ("bel0v"):число.
откуда это взяли-то? Просто сами подумали типа пусть будет число?) а JS решил, что это строка)
292 повідомлення
#14 років тому
Так, понятно, что ничего не понятно %) Теперь осталось решить вопрос, каким образом мне строку привести к типу "число"?
1599 повідомлень
#14 років тому
Maxim_belkin выше ж все написалну или тупо price_cart = price_cart * 1 + 1000; ну т.е. умножить на 1, JS сам все сделает.
292 повідомлення
#14 років тому
Maxim_belkin, спасибо.Цитата ("Paralysed"):
ну или тупо price_cart = price_cart * 1 + 1000; ну т.е. умножить на 1, JS сам все сделает.
тупой способ тоже ничего

3240 повідомлень
#14 років тому
Цитата ("maxim_belkin"):var price_cart = parseInt(price_cart) + 1000;
Если не планируете использовать чиста в восьмиричной системе счисления, а лишь обычные десятичные, тогда замените parseInt(price_cart) на parseInt(price_cart, 10).
Это очень распространенная ошибка.
292 повідомлення
#14 років тому
Цитата ("tvv"):Если не планируете использовать чиста в восьмиричной системе счисления, а лишь обычные десятичные, тогда замените parseInt(price_cart) на parseInt(price_cart, 10).
Это очень распространенная ошибка.
мм...ну мне по сути эти числа нужно только что бы их в dom`е менять, не больше не меньше. Но, раз так правильней, значит будет так ):
3240 повідомлень
#14 років тому
Цитата ("bel0v"):мм...ну мне по сути эти числа нужно только что бы их в dom`е менять, не больше не меньше. Но, раз так правильней, значит будет так ):
Дело не только в том что это правильнее, дело в том, что это будет корректно работать на большем количестве наборов входных данных.
Чтобы было более понятно, посмотрите оба варианта:
<script>
var s = '0800';
var i = parseInt(s) + 1000;
var i10 = parseInt(s, 10) + 1000;
alert(i);
alert(i10);
</script>
Думаю, тут понятно, почему получается такой результат?