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 :

Variable à virgule [Débutant(e)]


Sujet :

C

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Janvier 2007
    Messages : 95
    Par défaut Variable à virgule
    Bonjour,

    J'aurais besoin de quelques précisions concernant les variables à virgule. Voici un code pour exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int x, y;
    float a;
     
    a = x/y;
    Si x=1 et y=3, a sera sera égal à 0.
    Comment faire pour que a=0.333.. et pour choisir le nombre de chiffres après la virgule ?

    J'ai trouvé cette solution mais qui ne me satisfait pas trop :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int x, y;
    float a;
     
    a = 1.00000*x/y;
    et là, j'ai 5 chiffres après la virgule.

    Merci !

  2. #2
    Candidat au Club
    Profil pro
    Lycéen
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Par défaut Re
    Salut

    Pour avoir un résultat à virgule, il faut convertir au moins un des deux opérandes en un nombre à virgule, avec un transtypage [cast] par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int i = 1;
    int j = 3;
    double a = (double)i/j ; //Non teste
    A partir de là, je pense que tu auras la précision maximum possible dans ton A.
    Pour choisir la précision, par contre, je sait pas trop. Peut être que dans les fonctions de math.h il y aura quelque chose...

  3. #3
    Membre éclairé Avatar de femtosa
    Inscrit en
    Juin 2002
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 253
    Par défaut
    En C, le résultat de la division de deux nombres entiers est un nombre entier ! Pour obtenir un résultat à virgule flottante, tu peux faire :
    Du coup, 'a' sera bien un résultat à virgule flottante !

    Pour le nombre de chiffre après la virgule, c'est à l'affichage je suppose que ça te dérange ?

    Pour régler ça, tu peux formater ton affichage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%.2f", a); //Ne fera apparaître que 2 chiffre après la virgule
    Un peu plus de détail grâce à google pour le formatage de la sortie !

  4. #4
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par femtosa
    Un peu plus de détail grâce à google pour le formatage de la sortie !
    Pourquoi une recherche ?

    La page http://man.developpez.com le fait très bien :

    http://man.developpez.com/man3/printf.3.php

    Jc

  5. #5
    Membre éclairé Avatar de femtosa
    Inscrit en
    Juin 2002
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 253
    Par défaut
    Mea culpa ...

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Janvier 2007
    Messages : 95
    Par défaut
    merci beaucoup !!

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

Discussions similaires

  1. [XL-2003] Séparateur dans un fichier texte variable : virgule ou tabulation
    Par Vincent32 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/05/2012, 11h50
  2. Réponses: 4
    Dernier message: 13/06/2007, 09h45
  3. [variable]obetenir seulement 2 chiffres après la virgule
    Par nejisama8 dans le forum VBA Access
    Réponses: 1
    Dernier message: 23/05/2007, 17h32
  4. Utilisation de variable contenant des nombres a virgule en SQL
    Par Rukawa dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 27/10/2006, 18h54
  5. Variable nombre : arrondir à 5 chiffres après la virgule
    Par micatmidog dans le forum Général Python
    Réponses: 7
    Dernier message: 21/12/2005, 10h03

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