Rechercher : dans
Par :

[C] Extraire partie entière et partie décimal

Dernière réponse le 6 nov 2006 à 16:53:38 Florent, le 6 aoû 2006 à 19:23:01 
 Signaler ce message aux modérateurs

Hello !

J'ai un souci en C : je cherche à réaliser un programme, et à un moment j'ai besoin de récupérer la partie entière et la partie décimale d'un nombre dans deux variables différentes.

Par exemple, si j'ai un nombre 4.1256, j'aimerais obtenir :
var1 = 4
var2 = 1256

En php, il existe des fonctions pour cela, mais en C j'ai rien trouvé :S Je m'en remets donc à vous, en espérant que quelqu'un pourra me filer un coup de pouce !

Bonne soirée, merci d'avance :)

Meilleures réponses pour « [C] Extraire partie entière et partie décimal » dans :
Vérifier si un nombre entier est un nombre premier en C VoirDéfinition nombre premier Algorithme 1 : les diviseurs compris entre 2 et N-1 seront testés Algorithme 2 : les diviseurs pairs ne seront pas testés, la recherche se limitant aux diviseurs impairs Algorithme 3 : les diviseurs impairs jusqu'à la...
Langage C - Les types de données VoirLes types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...
Langage C - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...
Tableur - Les fonctions mathématiques VoirLes fonctions standards Méthode description ABS() Cette méthode renvoie la valeur absolue d'un nombre, il renvoie donc le nombre s'il est positif, son opposé (positif) s'il est négatif IMPAIR(valeur) Cette méthode renvoie la valeur...

1

mamiemando, le 6 aoû 2006 à 21:43:46
  • +1

Tu peux faire un truc du genre :

double x =  4.125
int partent = (int) x; // 4
double partdec = x - partent; // 0.1256

Pour compter le nombre de décimal tu peux feinter en écrivant la partie décimale dans une chaîne et compter le nombre de caractère :
char buffer[255];
unsigned int nb_dec;
sprintf(buffer,"%lf",partdec);
nb_dec=strlen(buffer)-2; // ou truc dans le genre, le -2 sert à zapper le '0.'

Bonne chance

Répondre à mamiemando

2

ghiz, le 28 aoû 2006 à 16:24:45
  • +2

Tu peux utiliser pour extraire la partie entière la fonction floor qui se trouve dans la bibliothèque math.h, elle reçoit le double et retourne sa partie entière.
bonne chance!

Répondre à ghiz

3

Radek, le 29 aoû 2006 à 11:01:41

Tu peux convertir ton nombre en chaine de carateres et utiliser les fonctions sur les chaines de caracteres. Par exemple tu peux utiliser strsep. Qui coupera ta chaine en deux chaines. Apres tu reconvertis tes 2 chaines en entiers si tu veux que ce soit des numériques.

Tu trouveras une liste de fonctions ici :
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/­string.3.html

Bonne continuation.

Répondre à Radek

4

 cfrezz, le 6 nov 2006 à 16:53:38
  • +2

#include <math.h>

float a = 1.5;
// partie entière
int o = floor(a);
// partie décimale
float u = a-o;

voili voilou

Répondre à cfrezz