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 :

probleme de calculs : 1-0.9 = 0.099999999999998


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut probleme de calculs : 1-0.9 = 0.099999999999998
    Salut tout le monde!
    voici mon probleme :
    je dois effectuer certains calculs pas complqiués :

    1-0.x avec 1<x<9
    seulement voila opur x=7, 8 ou 9 le calcul est faux.
    ex :
    1-0.9 = 0.9999999998

    j'ai essayé de mettre des parseFloat dans tous les sens mais rien ne fonctionne pour ces 3 valeurs.
    Quelqu'un aurai t'il une astuce?

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Oui: evite les calculs compliqué en JavaScript, il est nul pour ça.

    Sinon, pour ton problème, je doute quand même que JS soit aussi nul en calcul que ça. Tu es sur que tu n'as pas une erreur dans ton code???

    Après un petit test perso sur mon PC, je pense que tu as oublié un 0 dans ton résultat (ou alors c'est grave).

    Sinon, comme solution paliative, tu as toujours la possibilité de faire un Math.round() de la chose avant de l'afficher ^^

  3. #3
    Membre confirmé
    Avatar de giminik
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    303
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 303
    Points : 482
    Points
    482
    Par défaut
    oui et si tu nous affichait le code, ce serait-y pas mieux ?

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    c'est bon, j'ai trouvé une astuce : je multiplie tout par 100 et je divise le tout à la fin.
    mais c'est quand même bizarre que javascript sois pas capable de faire un calcul aussi simple.

  5. #5
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    je crois que ca vient du processeur (c'est lui qui fait le calcul)
    j'ai eu le même problème et j'ai utilisé plus ou moins la même astuce que toi et Math.round

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

Discussions similaires

  1. [VB6]Probleme de calcul...
    Par kboo dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 20/04/2006, 16h08
  2. [FLASH 8] Problemes de calcul précis avec FLASH
    Par ZecMan dans le forum Flash
    Réponses: 1
    Dernier message: 20/02/2006, 14h03
  3. Probleme de calcul :S
    Par vodevil dans le forum Langage
    Réponses: 2
    Dernier message: 22/12/2005, 20h06
  4. Petit probleme de calcul...
    Par Mistoufline dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 17/05/2005, 16h52
  5. [Conversion]Probleme de calcul en double et en floatant
    Par TOPGUN89 dans le forum Général Java
    Réponses: 2
    Dernier message: 18/04/2005, 17h46

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