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 :

division en javascript


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9
    Par d�faut division en javascript
    Bonjour

    question concernant l operation divison en javascript
    pk lorsque je fais :
    Code : JavaScript

    alert ("resulat de la divison est :"+(48.3/16.1));
    alert ("resulat de la division est :"+(64.4/16.1));




    le premier me donne un resultat de 2.99999999 alors que chacun sait que �a fait 3 et que �a tombe juste
    et que pour le deuxieme alert cela fonctionne et renvoie 4 et non 3.9999 par exemple
    pouvez vous m aider car j en ai besoin pour l incrementation d un compteur toutes les 16.1 secondes par exemple ( j utilise un test du genre var%16.1==0 alors incrementer

    merci




    merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9
    Par d�faut
    personne ne voit?

  3. #3
    Expert confirm�
    Avatar de Swo�g
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par d�faut
    s�rement un bug dans le module d'arithm�tique flotante pour le moteur JavaScript de ton browser
    R�dacteur "�clectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les R�gles du Forum - Mon Site Web sur DVP.com (D�veloppement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne r�pondrai � aucune question technique via MP, MSN ou Skype : les Forums sont l� pour �a !!! Merci de me demander avant de m'ajouter � vos contacts sinon je bloque !
    pensez � la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    D�tails du profil
    Informations personnelles :
    �ge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Par d�faut
    Essaye avec une autre navigateur pour v�rifier ce que dit Swoog, et test avec une valeur enti�re.

    Bizare quand m�me

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9
    Par d�faut
    cela ne change pas grand chose que je sois sours IE ou firefox
    merci qd meme

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    D�tails du profil
    Informations personnelles :
    �ge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Par d�faut
    Et avec des valeurs enti�res?

  7. #7
    Membre �clair� Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Par d�faut
    vous en voulez une autre ?
    essayez :
    alert ("resulat de la division est :"+(0.1+0.1+0.1));
    chez moi �a fait 0.300000000004 ...

    Probl�me commun � toutes les repr�sentations des nombres "� virgule flottante", para�t-il... et pas seulement en javascript:
    http://fr.wikipedia.org/wiki/Virgule_flottante

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9
    Par d�faut
    bon et bien on est bien avancer si les ordi gere pas cela loool
    ce qui est bizarre c est que si je fais (48,3) / (16,1) cela a l air de bien donner 3 si je met des points a la place et bien cela ne marche pas enfin j obtiens 2,999999999..

    est ce que vous pourrirez m indiquez comment on extrait une partie d un chiffre
    exemple le chiffre est 2,9999999999 juste avoir 2,999 par exemple
    comme �a hop je le modifie moi meme en 3 par exemple

    lmerci

  9. #9
    Membre �clair� Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Par d�faut
    avec Math.round(48.3/16.1).

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9
    Par d�faut
    merci mais �a arrondi un peu de trop
    car si je passe de 48.2 / 16.1
    et 48.3/16.1
    il arrondira les deux resultats alors qu en fait seul 48.3 / 16.1 est de 3
    je sais pas si je suis tres clair mais �a me convient moyen


    il me fau une extraction d un chiffre pour etre sur que le chiffre est X.9999999999
    connais une methode stp?

    et merci pour ton aide et ta patience

  11. #11
    R�dacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    parseInt( tonChiffre * 10000 ) / 10000;
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question � trouv� une solution.

    Si vous n'avez pas encore lu les r�gles du club, mieux vaut tard que jamais!

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9
    Par d�faut
    merci c pas mal le parseInT avec 10000
    mais si quelqu un connais aussi l exctraction d une partie d un chiffre je prend aussi loool

    merci a vous tous

  13. #13
    Membre �clair� Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Par d�faut
    oui, ou Math.round(variable*1000)/1000

  14. #14
    Membre �clair� Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Par d�faut
    apr�s, je pense qu'on tombe dans la manipulation de chaine:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    variable.toString().substr(0,5);
    par ex. pour extraire les 5 premiers chiffres.

  15. #15
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    il s'agit bien d'un probl�me d'interpr�tation de la virgule flottante par javascript en fonction du browser ...


    voici une petite focntion pour obtenir le bon r�sultat...
    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
     
    <script type='text/javascript'>
    function ExactRound(a,b,e){
    a=String(a)
    b=String(b)
    var deci=( a.split('\.')[1].length > b.split('\.')[1].length )?a.split('\.')[1].length:b.split('\.')[1].length;
    var c= Number(a) + Number(b);
    var expo= (Math.pow(10,deci))
    var result=((Math.round(c*expo)/expo).toFixed(e));
    return result;
    }
    </script>
     
    </head>
     
    <body>
    <script type='text/javascript'>
    alert(ExactRound(70.8021,86.104,4))
    </script>
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9
    Par d�faut
    Bonjour

    j ai test� ta fonction la et avec ton calcul ( 70.8021, 86.104, 4)
    j obtiens un resultat de 156.9061
    un peu bizarre comme resultat nan? ou �a vient de moi ?


    merci en tout cas

  17. #17
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    ben je sais pas ce que tu attend d'une addition de 70.8021 + 86.104 arrondi � 4 chiffres apr�s la virgule ...
    pour moi le r�sultat est correct ...

    ..70.8021
    +86.104
    =======
    156.9061
    non ?
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9
    Par d�faut
    oui en effet le resultat est bon
    j �tais depuis le debut dans une operation de divison ou de modulo
    donc oki �a va mieux
    d�sol� c est moi qui est bugg� la

    simplement changer le signe dans ta fonction alors
    merci

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 9
    Par d�faut
    merci

    �a marche niquel
    une tres bonne fonction a conserver
    merci tous

    probleme r�solu (je le valide avec la ptite fleche)

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Commande Javascript Interdiction division par 0
    Par Aromatic dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 25/11/2014, 12h29
  2. R�ponses: 1
    Dernier message: 22/03/2010, 09h56
  3. JavaScript<---->ActionScript
    Par crazypiou dans le forum Flash
    R�ponses: 21
    Dernier message: 17/04/2009, 17h14
  4. une "division flottante" avec javascript
    Par maniaco_jazz dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 21/12/2005, 11h32
  5. JavaScript de v�rification de formulaire
    Par [DreaMs] dans le forum XMLRAD
    R�ponses: 6
    Dernier message: 26/02/2003, 13h48

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