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 :

double to char*


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Finlande

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 24
    Par défaut double to char*
    Bonjour

    Voila j'ai un petit problème je veux écrire une fonction qui transforme un double en
    string une idée que j'ai eu peut être pas assez pratique c'est de transformer en int exemple : 123.456 je mets le 123 dans un int après le 0.456 je veux faire la même chose la solution est peut être faire des *10 jusqu'a avoir fini les nombre après la virgule mais justement comment savoir quand stopper

    une seconde question un double a combien de chiffre significatif après la virgule ?

    Merci

  2. #2
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2011
    Messages : 247
    Par défaut
    Citation Envoyé par tychus Voir le message
    Bonjour
    la solution est peut être faire des *10 jusqu'a avoir fini les nombre après la virgule mais justement comment savoir quand stopper

    une seconde question un double a combien de chiffre significatif après la virgule ?
    Il n'y a pas moyen de savoir "quand s'arréter" ni le "nombre de signe significatifs', tout dépend de ton affichage. En mémoire, tout est stocké en binaire, et c'est reconverti avant d'être affiché. Donc tu ne peux pas connaître le nombre de chiffres significatifs. Par contre tu peux en définir un (un peu comme printf qui rajoute des 0 à la fin).

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Finlande

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 24
    Par défaut
    ok je vais m'arreter a 10 alors merci pour repondre out

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Finlande

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 24
    Par défaut
    Apparemment cette solution ne permet aucun gain de précision au contraire une perte :/ quand je fais des *10 au bout d'un moment tout va bien mais âpres il me change les valeurs :@

    Une autre solution c'est de faire un masque de saisie en quelque sorte

    Sinon si quelqu'un a une idée je suis preneur

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Sinon si quelqu'un a une idée je suis preneur
    Pourquoi réinventer la roue ? (à moins que ce soit un exo)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	char chaine[128];
    	double valeur = 123.456;
     
    	sprintf(chaine , "%7.3lf" , valeur);
     
    	printf("chaine : <%s>\n" , chaine);
    man de sprintf : http://man.developpez.com/man3/printf.3.php

  6. #6
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    @jeroman : Dans ce cas précis, %g est plus simple et produit exactement la même sortie. Après c'est une autre histoire si c'est vraiment le format 7.3f que l'on veut, vu que je n'ai pas bien lu la question, mais j'en doute.

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

Discussions similaires

  1. Conversion type double en char
    Par piero53 dans le forum Débuter
    Réponses: 7
    Dernier message: 05/12/2010, 20h47
  2. Réponses: 1
    Dernier message: 17/06/2009, 18h18
  3. Réponses: 35
    Dernier message: 31/08/2008, 14h46
  4. double to char*
    Par BS_C3 dans le forum C
    Réponses: 11
    Dernier message: 28/06/2007, 14h46
  5. Transformer une donnée double en char
    Par Chrysomallus dans le forum MATLAB
    Réponses: 2
    Dernier message: 18/04/2007, 16h12

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