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

Windows Forms Discussion :

Problème de conversion de données


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 109
    Par défaut Problème de conversion de données
    Bonjour à tous !

    me voilà confronté à un problème du à une question simplissime à savoir la conversion de données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     string test = "83,96";
     double testbis = Convert.ToDouble(test);
    Et bien le résultat obtenu est : testbis = 83.959999999999994

    Et forcément quand un peu plus loin dans mon code je compare la valeur de testbis à 83.96 on me dit que ce n'est pas égal !!!

    Si quelqu'un peut me dire où est mon erreur je suis preneur

    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 109
    Par défaut
    Histoire de compliquer la chose, voilà un autre exemple sur le même schéma :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       string retest = "78,25";
       double retestbis = Convert.ToDouble(retest);
    Et là pour le coup on obtient retestbis = 78.25 !!!!


    Bref c'est à ne plus rien y comprendre ....

  3. #3
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    C'est lié à la précision des valeurs flottantes. Essaye avec le type decimal. La plage de valeurs est moins importante, mais la précision l'est beaucoup plus.

    Sinon, la question n'a absolument aucun rapport avec Windows Forms, attention à utiliser le forum le plus adapté à la question

  4. #4
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Pour la comparaison:
    bool QuasiIdentique(double Val1, double Val2, double Epsilon)
    {
    return (Math.Abs(Val1-Val2)<=Epsilon) ;
    }

  5. #5
    Membre chevronné
    Inscrit en
    Octobre 2005
    Messages
    400
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 400
    Par défaut
    Tu n'as pas commis d'erreur, simplement les valeurs flottantes ne sont pas stockées avec leur valeur exacte, mais avec une valeur approché (précision). Je crois que peu importe le langage que tu utilises tu à cette contrainte

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 109
    Par défaut
    Bon ben ok
    merci à tous !

    Pour info j'ai contourné mon soucis en utilisant des "decimal"

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

Discussions similaires

  1. problème de conversion de données
    Par gniarf dans le forum Cobol
    Réponses: 3
    Dernier message: 26/02/2010, 18h24
  2. [SSIS][2k5]Problème de conversion de données
    Par patriceharel dans le forum SSIS
    Réponses: 4
    Dernier message: 08/07/2009, 10h24
  3. [vb6] probléme de conversion de donnée
    Par lumbroso dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/11/2008, 23h22
  4. problème de conversion de données
    Par thierry007 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 06/05/2008, 21h39
  5. Réponses: 2
    Dernier message: 18/11/2007, 10h41

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