[JAVASCRIPT] Problème de décimal

Problème de décimal [JAVASCRIPT] - HTML/CSS - Programmation

Marsh Posté le 17-11-2004 à 09:26:35    

Bonjour,
 
dans mon code Javascript je fais des calculs sur des nombres flottants, et parfois les arrondis m'étonne. Par exemple après calcul je dois trouver la valeur 12.50 en revanche le système me retourne 12.49999999998, comment puis-je résoudre cela ?
 
Merci d'avance pour votre aide.  ;)

Reply

Marsh Posté le 17-11-2004 à 09:26:35   

Reply

Marsh Posté le 17-11-2004 à 11:34:22    

en nous montrant un peu ton code ?

Reply

Marsh Posté le 17-11-2004 à 11:56:13    

Reply

Marsh Posté le 17-11-2004 à 12:15:48    

Merci Hermes ;)

Reply

Marsh Posté le 17-11-2004 à 13:54:02    

:heink:  
 
euh, je pensais avoir mal compris alors j'ai fait un essai, le code suivant

Code :
  1. <html> 
  2. <head> 
  3. <script>
  4. function changeSousTheme(val){
  5.    alert(val);
  6. }
  7. function calculer(){
  8. var a=0;
  9. var b=0;
  10. a = document.gogo.t1.value;
  11. b = document.gogo.t2.value;
  12. alert(formatNumber(a/b));
  13. }
  14. function formatNumber(nbr) {
  15.   var result = NaN;
  16.   if (typeof(nbr) == 'number') {
  17.     var str = new String(nbr);
  18.     var parts = str.split('.');
  19.     result = parts[0] + '.' + (parts.length == 1 ? '00' : (parts[1] + '0').substring(0,5));
  20.   } 
  21.   return result;
  22. }
  23. </script>
  24. </head> 
  25. <body> 
  26. <form name="gogo">
  27. <br><br><br>
  28. <center>
  29. <br><br>
  30. <input type="text" name="t1" size="5">
  31. <br>divisé par<br>
  32. <input type="text" name="t2" size="5">
  33. <br><br>
  34. <input type="button" onClick="javascript:calculer();" value="calcul">
  35. </center>
  36. </form>
  37. </body> 
  38. </html>


 
le résultat est donc la division des 2 chiffres. Quand on tape 3.3 / 12 on obtient 0.27499 au lieu de 0.275...  :(  
 
ps : j'ai rajouté une des méthodes trouvé dans le lien pré-cité

Reply

Marsh Posté le 17-11-2004 à 14:39:05    

Ci ce n'est pas le formatage du nombre qui te chagrine mais le résultat de l'opération jette un oeil sur ce topic :
http://forum.hardware.fr/forum2.ph [...] 0&subcat=0
tu verras qu'il n'y a pas grand chose à faire malheureusement ...

Reply

Marsh Posté le 17-11-2004 à 14:43:59    

moi, ça me chagrine pas plus que ça, ça m'interpelle on va dire...  
 
Mais j'avais le sentîment que le lien d'Hermes ne répondait pas à la question posée par tafkap

Reply

Marsh Posté le 17-11-2004 à 14:53:27    

Oui disons que ça montre les limites du langage ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed