Всем привет! Имеется код:
itemsAmount = 0;
$(".to-cart").click(function(){
var itemCoast = $(this).children('.inv-tr-item').children('.inv-item-price').text(); // Вытягиваем из дива содержимое (напр. "Цена 100,23)
itemCoast = itemCoast.replace(/[^-0-9,]/gim,''); // обрезаем "цена", оставляем только цифры (100,23)
itemCoast = itemCoast.replace(/\,/g, '.'); // Меняем запятую на точку (100.23)
itemCoast = parseFloat(itemCoast); // Парсим из строки во флоат (100.23)
if ($(this).hasClass("on-cart")) { // проверяем, есть ли товар уже в корзине через .hasClass
itemsAmount = itemsAmount - itemCoast; // из общей суммы корзины вычитаем стоимость товара
}else{
itemsAmount = itemsAmount + itemCoast; // к общей сумме корзины прибавляем стоимость товара
}
$('.cart-total span').html(itemsAmount); // Выводим стоимость в спан
});
И проблема в том, что если в корзину положить товар за 349,39, затем 304,05, а затем из корзины удалить второй товар за 304,05, то стоимость корзины будет не 349,39, а 349.39000000000004. Никак не могу понять в чем проблема.
Пробовал округление до сотых, то в таком случае, если добавить много товаров, а потом все удалить, то сумма корзины будет не ноль, а -0.01 (плюс минус пару сотых)