Как я могу получить цену оформления заказа с точностью до копейки, используя Javascript?

Как я могу получить цену оформления заказа с точностью до копейки, используя Javascript?

Прямо сейчас, после того, как я пробовал все пробные версии и т. Д. Я пытался.. Я поднялся на 1,5 цента слишком высоко, используя 15 продуктов / цен для тестирования.

            for (var i = 0; i < Cookie.products.length; i++) {
            boolActive = Cookie.products[i].og_active;              
            if (boolActive)
            {
                itemPrice = Cookie.products[i].price;
                itemQty = Cookie.products[i].quantity;
                itemDiscountPercent = Cookie.products[i].discount_percent;

                subtotal = itemPrice * itemQty;
                priceDiscount = (subtotal * itemDiscountPercent);
                                    discountAmount += priceDiscount;
            }
        }
        if (!isNaN(discountAmount))
        { 
            var newCartTotal = (cartTotal - priceDiscount);
            alert("New Cart Total: " + newCartTotal);
        }

3 ответа

var newCartTotal = (cartTotal - pricediscount).toFixed(2)

это даст вам значение, но это будет строка. Если вам нужно, чтобы оно оставалось числовым, используйте:

var newCartTotal = ((cartTotal - pricediscount * 100) << 0) / 100;

Измените свой код на:

priceDiscount = parseFloat( (subtotal * itemDiscountPercent).toFixed(2) );

а также:

newCartTotal = parseFloat( (cartTotal - priceDiscount).toFixed(2) );

Вам необходимо округлить скидку для каждой позиции: priceDiscount = round_to_hundredth(subtotal * itemDiscountPercent)

Обратите внимание, что этот результат может не совпадать с результатом, который вы получите, если добавите необоснованные результаты, а затем округлите сумму. Однако именно так обычно работают счета-фактуры, когда они рассчитываются вручную (тем более что каждый товар может иметь различный процент скидки, поэтому скидка рассчитывается для каждой строки).

Я думаю, что вы пропустили строку, говорящую discountAmount += priceDiscount,

Другие вопросы по тегам