簡體   English   中英

計算要在POS javascript上給客戶的更改

[英]Calculate change to be given to customer on POS javascript

任何人都可以幫我這個忙,我正在嘗試在POS上使用此代碼來計算要提供給客戶的更改,並且該更改對於必不可少的部分有效。

我遇到的問題是,如果我的訂單成本為9.99英鎊,然后輸入10英鎊,而不是將更改計算為0.01英鎊,而是將其計算為0.009999999999999787

這是我正在使用的代碼。

 function sum() { var og_total = document.getElementById('og_cart_total').value; var og_tendered = document.getElementById('og_cash_tendered').value; var og_change = (og_tendered - og_total).toFixed(2); var og_symbol = '£'; if (!isNaN(og_change)) { document.getElementById('og_change_given').value = og_symbol + og_change; } } 
 <input type="hidden" id="og_cart_total" value="19.99" onkeyup="sum();" /> <div class="control-group"> <label class="control-label" for="og_cash_tendered">Tendered:</label> <div class="controls"> <input class="cm-autocomplete-off" type="text" name="payment_info[og_cash_tendered]" value="" id="og_cash_tendered" onkeyup="sum();" /> </div> </div> <div class="control-group"> <label class="control-label" for="og_change_given">Change:</label> <div class="controls"> <input type="text" name="payment_info[og_change_given]" id="og_change_given" value="£-19.99" readonly="readonly" /> </div> </div> 

有這種方法,但是沒有應有的希望。 最好的方法是,如果值得的話,可以使用長整數的庫。

 function sum() { var og_total = document.getElementById('txt1').value; var og_tendered = document.getElementById('txt2').value; var og_change = (og_tendered - og_total).toFixed(2); var og_symbol = "£"; if (!isNaN(og_change)) { document.getElementById('og_change_text').value = og_symbol + og_change; } } 
 <input type="text" id="txt1" value="9.99" readonly="readonly" onkeyup="sum();" /> <input type="text" id="txt2" onkeyup="sum();" /> <input type="text" readonly="readonly" id="og_change_text" /> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM