@TheRevan

Как сложить десятичные числа в js?

Есть корзина, и там используются дробные числа(до 100), как сделать сложение, у меня даже с parseFloat и toFixed(2) выходит хрень знает что:
Картинка самой корзины:
image.png
Картинка ошибки при клике на увеличение количества в корзине:
image.png

Код на клик по стрелке:
$('.g_num__prev').click(function(){
		var arr = $(this),
            id = arr.attr('data-prod-id'),
			input = arr.closest('.g_num').find('input'),
			curr = $('#_cart_price_' + id).html().substr(-1);
            price = $('#cart_price_' + id).html(),
			val = input.val();
		if(val>1){
			var num = Number(input.val()) - 1;
			input.val(num);
            $('#cart_total_' + id).html((Math.round((num * price)*100)/100).toFixed(2));
            $('#_cart_total_' + id).html((Math.round((num * price)*100)/100).toFixed(2)+""+curr);
            var tot = 0;
            $('.total').each(function (t, e) {
            	var str = $(e).html().substring(0, $(e).html().length - 1);
            	console.log(tot);
                tot = tot.toFixed(2) + parseFloat(str).toFixed(2);
                tot = tot.toFixed(2);
            });
            $('#in_total').html(tot);
		}
	});


Сайт(если нужно)..
  • Вопрос задан
  • 1267 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
В 6-й строке
price = $('#cart_price_' + id).html()
попробуйте заменить на
price = parseFloat( $('#cart_price_' + id).text())

Вычисление total:
var tot = 0;
$('.total').each(function (t, e) {
  tot += Math.round(parseFloat($(e).text()) * 100);
});
tot /= 100;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы