Rejoignez
la communauté
Inscrivez-vous
Posez votre question Signaler

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

Florent - Dernière réponse le 6 nov. 2006 à 16:53
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 :)
Lire la suite 
4 réponses
Réponse
+39
moins plus
#include <math.h>

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

voili voilou
Ajouter un commentaire
Réponse
+11
moins plus
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!
Ajouter un commentaire
Réponse
+6
moins plus
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
Ajouter un commentaire
Réponse
-2
moins plus
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.
Ajouter un commentaire
Ce document intitulé « [C] Extraire partie entière et partie décimal » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Recevez notre newsletter
CCM JDN Droit-Finances Femme Linternaute Copains d'avant Santé-Médecine

Carte de voeux 2013, Cinéma, Décoration, Expeert, Horoscope, Salon littéraire, Programme TV, Cuisine (Recette), Coiffure, Restaurant, Test débit, Voyage, Hayatouki