Bonjour
Voila je développe des petites applications en PHP en essayant d'éviter le javascript car mes connaissances sont plus que limiter sur ce domaine, mais la j'ai pas le choix, je suis obligé d'insérer un script mais ne fonctionne pas a 100%, j'ai une erreur par moment sur le résultat et le nombre de chiffres après la virgule que je n'arrive pas a limiter a 2
J'ai testé plusieurs scripts mais aucun succès, celui la est celui qui fonctionne le mieux pour mon besoin

C'est pour un choix de paiement, une variable en PHP est récupérer via un POST, ensuite, il y a 3 champs a remplir pour le paiement cb, especes et cheque et une différence a payer ou rembourser

exemple, la variable en PHP 594,65 ( montant a regler )
Test 1 => champs cb 200 le champs différence indique 394.65 => OK
Test 2 => champs especes 600 => reste -5.350000000000023 => Pas bon trop de chiffres apres la virgule

2 eme exemple, probleme de resultat
La variable en php 35.88
champs espece 35.90 et le champs difference -0.01999999999999602 => Pas bon, il devrait mettre 0.02

Voici le code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<script language="JavaScript" type="text/javascript">
function calcul(formulaire) // script de calcul
    {
        var pu = formulaire.prix.value; 
        var cb = formulaire.cb.value;   
        var esp = formulaire.esp.value;   
        var ch = formulaire.ch.value;   
        var tot=pu-cb-esp-ch;
        formulaire.total.value = tot ;
        calculTotal();
    }
function calculTotal(){
  total.somme.value = 0;
  for(var i=0;i<document.forms.length-1;i++){ 
    total.somme.value = parseFloat(total.somme.value) + parseFloat(document.forms[i ].total.value);
  }
}
</script>
<form name="paiement">
<input  name='prix' type='hidden' value='<?php echo $vente_montant; ?>' onclick='calcul(paiement)'>
<table>
<tr><td><img src="paye_cb.png"></td><td><img src="paye_espece.png"></td><td><img src="paye_cheque.jpg"></td><td>Reste</td></tr>
<tr>
<td><input type='text' name='cb' size='4'   onChange='calcul(paiement)'></td>
<td><input type='text' name='esp' size='4'   onChange='calcul(paiement)'></td>
<td><input type='text' name='ch' size='4'   onChange='calcul(paiement)'></td>
<td><input type='text' size='4' name='total' ></td>
</tr>
</table>
</form>
Je n'arrive pas a trouver le soucis, si quelqu'un a 2 minutes pour y jeter un oeil

Merci
Didier