IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Chiffres après la virgule


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut Chiffres après la virgule
    Bonjour à tous, suite à une précédente discution (multiplication), j'utilise le code suivant pour faire des additions dans un formulaire mais il n'additionne que les chiffres avant la virgule.
    Ex : 5,5 + 4 = 9
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <script language="JavaScript" type="text/javascript">
    	function calculchps( indice){
      var oForm = document.getElementById("formulaire");
      var oNbre = oForm.elements['nbre' +indice];
      var oPrix = oForm.elements['prix' +indice];
      var ototala = oForm.elements['totala' +indice];
      ototala.value = parseInt(oNbre.value) + parseInt(oPrix.value);
      sum_elements();
    }
    </script>
    Comment faire pour avoir 2 chiffres après la virgule?
    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Le séparateur décimal est le point, et non pas la virgule.

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    Oui la saisie dans les champs je la fait avec un point.

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Utilise la méthode parseFloat au lieu de parseInt.

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    Impeccable!
    Merci

  6. #6
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    Bonsoir à tous, toujours ce problème de 2 chiffres après la virgule mais en multipliant cette fois. Avec le code suivant, quand je multiplie par exemple:
    - 3.55 * 3 = 10.6499999
    - 3.15 * 1.8 = 5.67
    Dans certains champs j'obtient un résultat avec 2 chiffres après la virgule et dans d'autres 7 chiffres après la virgule.
    Je n'arrive pas à comprendre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function calculchps( indice){
      var oForm = document.getElementById("formulaire");
      var oNbre = oForm.elements['nbre' +indice];
      var oPrix = oForm.elements['prix' +indice];
      var ototal = oForm.elements['total' +indice];
      ototal.value = parseFloat(oNbre.value) * parseFloat(oPrix.value);
      sum_elements();
    }
    Merci d'avance pour votre aide.

  7. #7
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par theo63 Voir le message
    Bonsoir à tous, toujours ce problème de 2 chiffres après la virgule mais en multipliant cette fois. Avec le code suivant, quand je multiplie par exemple:
    - 3.55 * 3 = 10.6499999
    - 3.15 * 1.8 = 5.67
    Dans certains champs j'obtient un résultat avec 2 chiffres après la virgule et dans d'autres 7 chiffres après la virgule.
    ton code est juste. Le problème vient du fait que les ordinateurs ne savent pas réaliser des calculs avec des nombres à virgule avec précision.
    http://fr.wikipedia.org/wiki/Virgule_flottante

    Le mieux est de travailler avec des entiers.
    regarde ce que cela donne en remplaçant ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ototal.value = parseFloat(oNbre.value) * parseFloat(oPrix.value);
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    operation = parseInt(oNbre.value*100) * parseInt(oPrix.value*100);
    ototal.value = operation / 10000;

  8. #8
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    En effet sa fonctionne.
    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. arrondir un nombre à 2 chiffres après la virgule
    Par El Saigneur dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/02/2005, 08h36
  2. Commande pour afficher des chiffres apres la virgule
    Par manar dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 23/09/2004, 18h28
  3. Chiffres après la virgule figés
    Par bondjames dans le forum Bases de données
    Réponses: 6
    Dernier message: 10/03/2004, 23h09
  4. [MFC] Nombre de chiffres après la virgule
    Par karl3i dans le forum MFC
    Réponses: 3
    Dernier message: 27/01/2004, 13h04
  5. Nb de chiffres après la virgule ?
    Par Thcan dans le forum C
    Réponses: 10
    Dernier message: 17/09/2003, 21h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo