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 :

Extraire la partie décimale d'un float


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 183
    Par défaut Extraire la partie décimale d'un float
    Bonjour,
    je voudrais extraire la partie décimale d'un float et la rendre entiere .
    Exemple:
    si j'ai 4.2
    donc j'aurais la partie entiere est 4 et la partie décimale est 2 et je voudrais que mon programme retourne 4 et 20 (20= 2*10) or mon code me retourne 19 au lieu de 20 , une aide?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    float n;
    int r;
    int i;
     
        do
        { printf("How much ? \n");
        n=GetFloat();
     
        }while(n<0); 
         i=(int)n;
              printf("%d\n",i);
        r=(n-(int)n)*100;
             printf("%d\n",r);

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 19
    Par défaut
    Peut-être qu'en utilisant le modulo.... :/

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 50
    Par défaut
    Bonjour,

    En stockant la partie décimale dans un float, qu'est-ce que cela affiche ?

    Par exemple :

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #include <stdio.h>
    #include <stdlib.h>
     
    int main (void)
    {
      float n;
      float r;
      int i;
     
      printf ("How much ?\n");
      scanf("%f", &n);
     
      i = (int)n;
      printf ("%d\n", i);
      r = (n-(int)n)*100;
      printf ("%f\n", r);
     
      return EXIT_SUCCESS;
    }

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 19
    Par défaut
    j'avoue que je ne sais pas trop comment marche ce Getfloat() .... Le mieux serait probablement le scanf Julien ^^

  5. #5
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    4.2 n'est pas représentable exactement dans un flottant. Probablement, la valeur exacte codée à la place de 4.2 est 4.1999999....

  6. #6
    Membre très actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 183
    Par défaut
    Citation Envoyé par diogene Voir le message
    4.2 n'est pas représentable exactement dans un flottant. Probablement, la valeur exacte codée à la place de 4.2 est 4.1999999....
    Justement et je veux contourner ce problème

  7. #7
    Membre très actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 183
    Par défaut
    Citation Envoyé par Learner_ Voir le message
    j'avoue que je ne sais pas trop comment marche ce Getfloat() .... Le mieux serait probablement le scanf Julien ^^
    GetFloat est une fonction que je dois utiliser (c'est dans le cadre de mes etudes..)

  8. #8
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 19
    Par défaut
    ah d'accord ^^ Aurais-tu plus de précision dessus ?
    En tout cas, c'est bizarre, quand je prends ton code, il me fait plein d'erreurs ^^" notamment sur le while ^^
    Pourquoi fait-tu (n<0) en tant que condition?

Discussions similaires

  1. Extraire la partie décimale d'un nombre
    Par Invité dans le forum Langage
    Réponses: 5
    Dernier message: 28/09/2016, 13h47
  2. Extraire la partie décimal d'un float en c
    Par souhe_nits dans le forum Débuter
    Réponses: 5
    Dernier message: 22/03/2011, 17h15
  3. Extraire la partie décimale d'un nombre
    Par Najua dans le forum SAS Base
    Réponses: 1
    Dernier message: 22/09/2010, 18h54
  4. Réponses: 15
    Dernier message: 30/01/2008, 18h23
  5. Extraire la partie décimale d'un nombre
    Par Kant2006 dans le forum C++
    Réponses: 19
    Dernier message: 16/06/2006, 20h05

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