在當(dāng)今的支付方式中,大多數(shù)人都選擇使用銀行卡或通過移動支付應(yīng)用完成交易,但在某些情況下,人們?nèi)匀恍枰褂矛F(xiàn)金完成交易。例如,在小商店購買少量商品時,收銀員需要準(zhǔn)確計算商品價格并找出正確的找回數(shù)目。在這種情況下,JavaScript可以為收銀員提供幫助,快速準(zhǔn)確地完成收銀工作。
如果你正在編寫一個收銀程序,你需要追蹤以下幾個方面的信息:
- 商品名稱
- 數(shù)量
- 單價
- 折扣(如果有的話)
在下面的示例中,我們將創(chuàng)建一個簡單的收銀應(yīng)用程序,用于計算購買項的總價格,并計算出應(yīng)找回的數(shù)字。
//通過以下模板創(chuàng)建商品對象: function Product(name, price) { this.name = name; this.price = price; } //創(chuàng)建我們要出售的商品 var apple = new Product('Apple', 0.58), orange = new Product('Orange', 0.72), banana = new Product('Banana', 0.45), pear = new Product('Pear', 0.94); //創(chuàng)建一個數(shù)組包含所有商品 var products = [apple, orange, banana, pear]; //通過以下模板創(chuàng)建購買項對象: function PurchaseItem(product, quantity) { this.product = product; this.quantity = quantity; } //購物籃 var basket = []; //添加購買項目 basket.push(new PurchaseItem(apple, 4)); basket.push(new PurchaseItem(orange, 2)); basket.push(new PurchaseItem(banana, 1)); //添加優(yōu)惠券 var discount = 0.1; //計算總價格 var subtotal = 0; for(var i=0; i<basket.length; i++) { subtotal += basket[i].quantity * basket[i].product.price; } //計算折扣 if(discount) { subtotal *= (1 - discount); } //四舍五入的函數(shù) function round(value, decimals) { return Number(Math.round(value+'e'+decimals)+'e-'+decimals); } //計算稅前總價 var total = round(subtotal, 2); //添加消費(fèi)稅 var taxRate = 0.07; //稅 var tax = round(subtotal * taxRate, 2); //計算最終價格 var finalTotal = round(total + tax, 2); //收現(xiàn)金 var cashGiven = 20; //計算找回的數(shù)目 var change = round(cashGiven - finalTotal, 2); //顯示結(jié)果 document.write('Subtotal: $' + subtotal + '<br>'); document.write('Discount: ' + discount * 100 + '%<br>'); document.write('Total: $' + total + '<br>'); document.write('Tax: $' + tax + '<br>'); document.write('Final Total: $' + finalTotal + '<br>'); document.write('Cash Given: $' + cashGiven + '<br>'); document.write('Change: $' + change);
在上面的代碼中,我們創(chuàng)建了兩個對象:Product和PurchaseItem。Product對象表示一個商品,其中包含名稱和價格。PurchaseItem對象表示商品列表中一個購買項,包括產(chǎn)品和數(shù)量。我們還將所有商品存儲在一個數(shù)組中,用于創(chuàng)建購物籃。在購物籃中,我們添加了購買項,并使用discount變量添加了優(yōu)惠。我們還添加了一個稅,使用taxRate變量設(shè)置稅率。最后,我們計算總價格和找回數(shù)字,并將所有結(jié)果輸出到用戶。
上面的示例是一個非常簡單的收銀應(yīng)用程序。在實際環(huán)境中,您可能需要添加更多的功能,例如捆綁銷售和訂購,以滿足復(fù)雜業(yè)務(wù)需求。但是,JavaScript是一個強(qiáng)大的語言,可以很容易地增強(qiáng)程序的功能性,以滿足您的業(yè)務(wù)需求。