Quelqu'un peut-il m'aider avec cela, j'essaie d'utiliser ce code sur un point de vente pour calculer le changement à donner à un client et cela fonctionne pour la partie doit.Calculer la modification à donner au client sur POS javascript
Le problème que je vais avoir est si je commande coûte £ 9.99 et j'entre £ 10, au lieu de calculer la variation de 0,01 £ il calcule comme £ 0,009999999999999787
Voici le code que je J'utilise.
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">
\t <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">
\t <input type="text" name="payment_info[og_change_given]" id="og_change_given" value="£-19.99" readonly="readonly" />
</div>
</div>
En javascript tous les chiffres sont 'floats', voir (http://stackoverflow.com/questions/4703725/integers-in-javascript). Au fait, qu'est-ce qu'un POS? – Svaberg
@Svaberg Je suppose que par POS, ils signifient "point de vente". –
C'est correct. –