Récupéré des chiffre après la virgule

Résolu
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 - 1 août 2004 à 14:30
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 - 2 août 2004 à 11:27
Coucou,
je voudrais faire une division puis récupéré les chiffre après la virgule.
Enfin pour vous aider, je voudrais formater une heure en fonction d'un temps (en seconde) donnée.
si qqu peut m'aidé, merci d'avance !
A voir également:

10 réponses

Hades53 Messages postés 231 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 7 juillet 2009
1 août 2004 à 16:19
Tu peux essayer ça:

int t 0 , h 0, m = 0 ,s = 0;
printf("Bonjour, entrez une valeur: ");
scanf("%d",&t);

h = t/3600;
t %= 3600;
if (t) {
m = t/60;
t %= 60;
s = t;
}
printf("\nConversion: %d:%d:%d\n",h,m,s);
3
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
1 août 2004 à 14:53
avec un cast:

double a=a-(int)a;

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
1
Hades53 Messages postés 231 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 7 juillet 2009
1 août 2004 à 15:08
float a = 74 , b = 23;
char buff[8] ,*c;
sprintf(buff,"%.4f",a/b);
c = buff;
while (*c && *c != '.') c++;
if (*++c) printf(":: %s\n",c);
0
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
1 août 2004 à 15:14
c'est un peu l'usine à gaz ta fonction

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
1 août 2004 à 15:33
ok merci,
mais HCJarod ta fonction ne marche pas pour ce que je veu faire.
En fait dans mon prog, je rentre dans une variable un int qui donne un temps en seconde, et je veu le mettre en heure:minute:seconde
Donc si t'a une soluce !
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
1 août 2004 à 16:01
int nbre_min, nbre_sec, nbre_hour;

nbre_min = nbre_sec / 60;
nbre_sec %= 60;
nbre_hour = nbre_min / 60;
nbre_min %= 60;
sprintf(buf, "%2d:%2d:%2d", nbre_hour, nbre_min, nbre_sec);
MessageBox(NULL, buf, NULL, 0);

Voila, tu peux bien sur tout compacter pour ke ca rentre ds le sprintf, mais c pa bo.

++
0
Hades53 Messages postés 231 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 7 juillet 2009
1 août 2004 à 16:21
Arf, je suis à la bourre, apparement AlexMAN avait déjà donné la solution..
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
1 août 2004 à 18:23
ades53, à quoi ça sert le "%" dans la ligne t %= 60 ??
0
Hades53 Messages postés 231 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 7 juillet 2009
1 août 2004 à 19:04
% est l'opérateur qui sert à obtenir le reste d'un division

ex: 32 % 30 => 2
t %60 revient au même que t t % 60
0
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
2 août 2004 à 11:27
oui ça s'appelle la division modulo

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
0
Rejoignez-nous