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

C++ Discussion :

Lecture de fichier : perte de précision sur valeurs réelles


Sujet :

C++

  1. #1
    Membre éclairé Avatar de meufeu
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 355
    Par défaut Lecture de fichier : perte de précision sur valeurs réelles
    Bonjour,

    Je lis un fichier qui contient des valeurs réelles que je stocke dans des doubles
    J'ai une perte en précision :

    0.209399998 > 0.2094
    0.0209999997 > 0.021
    3.60000006E+13 > 3.6e+13

    Pour lire j'utilise les ifstream :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ifstream fichier;
    fichier.open("0nac05_OXYDE2.in", ios::in);
    fichier>>(cible);
    D'ou cela peut il venir ?

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    c'est quoi cible ? Tu vérifies comment qu'il y a perte ?

  3. #3
    Membre éclairé Avatar de meufeu
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 355
    Par défaut
    cible est un double

    je vérifie en faisant un cout ... cela vient de la ?

  4. #4
    Membre émérite
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Par défaut
    c'est possible, il me semble qu'on peut passer un parametre a cout pour avoir une plus grande precision, genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cout << [parametre] << nombre << endl;

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Par défaut
    Bonjour,
    Citation Envoyé par jobherzt
    c'est possible, il me semble qu'on peut passer un parametre a cout pour avoir une plus grande precision, genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cout << [parametre] << nombre << endl;
    C'est un fait, mais attention : ça ne change que la précision de l'affichage, pas celle de la valeur.

    Je tiens à préciser, car je suis souvent dérangé par des personnes qui ont du mal à comprendre ce genre de chose, qui pourtant me semble évidente.

    (Et je ne parlerais pas du problème de la représentation effective des valeurs réelles, si souvent abordée sur le forum)

  6. #6
    Membre émérite Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 117
    Par défaut
    cout.precision(int precision);

    Pour régler la précision du cout ...

    J'ai eu le problème il y a quelques temps je pensais avoir une perte de précision alors que ce n'était que mon afffichage qui me trompait ...

    Le mieux c'est de commencer par essayer ça, peut-être que ce n'est rien de plus ... sinon ben bonne chance

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/07/2011, 20h55
  2. [MySQL] PDOStatement -> execute et précision sur valeur de retour
    Par richard_sraing dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/04/2011, 18h32
  3. [Débutant] Lecture de fichier texte et modification de valeurs
    Par niepoc dans le forum MATLAB
    Réponses: 19
    Dernier message: 25/04/2008, 17h32
  4. besoin d'une précision sur le déploiement de fichiers
    Par NicoO_O dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 22/01/2007, 20h08
  5. Réponses: 1
    Dernier message: 21/12/2006, 13h06

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