|
|
|
|
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 :)
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 |
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.
|