bonjour a tous
je code actuellement un panier de vente de photo en ligne en javascript
j'affiche devant chaque photo la quantite et le prix unitaire
ensuite en dessous j'affiche le prix total puis le prix total+frais de port
voici mon code :
var nPrixTotal = 0;
var nbImages = oWorkspaceData.GetNbImagesPanier();
var nFraisEnvoi = document.getElementById("frais_envoi").value;
for( i=0 ; i < nbImages ; i++ )
{
var quantite = document.getElementById("quantite_"+i).value;
var nPrixUnitaire = document.getElementById("prix_"+i).value;
nPrixTotal = parseFloat(nPrixTotal) + (parseFloat(quantite)*parseFloat(nPrixUnitaire));
}
document.getElementById("prix_total_hfe").value = parseFloat(nPrixTotal);
document.getElementById("prix_total").value = parseFloat(nPrixTotal) + parseFloat(nFraisEnvoi);
seulement voila parfois quand je fait mes operation alors que ça devrai m'afficher "3.3" en prix total, ça m'affiche "3.300000000000003"
ou alors "7.69999999999" au lieu de "7.7"
je comprend pas d'ou vien l'erreur
quand je fait 2.2+1.1 ça donne 3.3000000000000003
alors que la plupart du temps le resultat est correct par exemple 1.1+1.1=2.2
je comprend vraiment pas d'ou ça vient
peut etre des parseFloat
merci d'avance ^^
Partager