Bonjour,

Je cherche à mettre a jour une valeur ht en javascript en fonction du montant des frais de port...

Voici mon 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
 
function change_port(valeur,ht)
{
  valeur=parseFloat(valeur);
  ht=parseFloat(ht);
 
  //On met a jour le montant du port
  document.getElementById('montant_port').innerHTML=valeur+' € TTC';
 
  //On calcul la valeur HT du port
  var valeur_ht=valeur/1.196;
 
  alert('ht='+ht+'portht='+valeur_ht);
 
  valeur_ht=parseFloat(valeur_ht);
  valeur_ht=valeur_ht*100;
  valeur_ht=Math.round(valeur_ht);
  valeur_ht=valeur_ht/100;
 
  alert('ht='+ht+'portht='+valeur_ht);
 
  //On ajoute au montant HT le port HT
  ht=ht+valeur_ht;
 
  alert('ht='+ht+'portht='+valeur_ht);
}
Voici ce que me renvoient les alert avec valeur=6 et ht=44.59:
1er: ht=44.59 portht=10.033444816053512
2è: ht=44.59 portht=10.03
3è: ht=54.6200000000000004 portht=10.03
Pourquoi ht vaut 54.6200000000000004 au lieu de 54.62?
Comment gérer ce problème qui n'apparait pas dans tous les cas?

En effet, il y a des cas où je n'ai pas de problème, et certains cas, où j'ai ce problème d'arrondi...