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

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

Прямо сейчас, после того, как вынули все пробные версии.высокие 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 ]

1 голос
/ 08 апреля 2011
var newCartTotal = (cartTotal - pricediscount).toFixed(2)

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

var newCartTotal = ((cartTotal - pricediscount * 100) << 0) / 100;
0 голосов
/ 08 апреля 2011

измените ваш код на:

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

и

newCartTotal = parseFloat( (cartTotal - priceDiscount).toFixed(2) );
0 голосов
/ 08 апреля 2011

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

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

Я думаю, что вы пропустили строку с надписью discountAmount += priceDiscount.

...