Convertir des milisecondes en heures, minutes, secondes, ms - Algo - Programmation
Marsh Posté le 31-07-2003 à 09:04:24
int ms=?;
int millisecondes=0;
int secondes=0;
int minutes=0;
int heures=0;
millisecondes=ms%1000;
ms=ms/1000;
secondes=ms%60;
ms=ms/60;
minutes=ms%60;
ms=ms/60;
heures=ms;
Je crois qu'il n'y a pas plus simple
Marsh Posté le 31-07-2003 à 09:07:45
Code :
|
Ca devrait marcher
Marsh Posté le 31-07-2003 à 09:11:49
tu fais :
nb_millisecondes /3600000 = x_heures
nb_millisecondes %3600000 = reste
reste * 3600000/60000 = x_minutes
reste * 3600000%60000 = reste
reste *60 = x_secondes
pas teste
EDIT : grille
Marsh Posté le 31-07-2003 à 09:12:51
Si tu t'en sors pas avec tout ça on peu plus rien pour toi
Marsh Posté le 31-07-2003 à 09:25:30
Vous n'auriez pas d'autrs idées ?
EDIT : j'déconne hein. ça m'va très bien, c'est nickel. IL me reste plus qu'a choisir !
Marsh Posté le 31-07-2003 à 09:28:52
DarkOli a écrit : int ms=?; |
Heu, sans cast il va me faire des histoires !
Marsh Posté le 31-07-2003 à 09:30:04
El_gringo a écrit : |
pkoi?
T'as des int partout
Tu veux caster des ms en heure?
Marsh Posté le 31-07-2003 à 09:36:16
LetoII a écrit : |
Non, j'pensais que le compilateur râlerait du fait qu'on divise un entier : le résultat peut être un nombre réel (flottant). En C, le résultat d'un division n'est pas toujours un flottant ? Il prend la partie entière du résultat sans rien dire ?
Marsh Posté le 31-07-2003 à 09:38:24
El_gringo a écrit : |
Pour des entiers / donne toujours un résultat entier...si tu veux le reste % est là pour ça!
Marsh Posté le 31-07-2003 à 09:39:09
El_gringo a écrit : |
si tu divise deux variables du même type le résultat sera de ce type, quand tu as des types différents... j'ai oublié la régle mais y a une des deux variable qui est casté vers l'autre type (vraissemblement var1 dans cet exemple: var1/var2)
donc dans notre cas il fait une division entière et ça te donen un entier.
Marsh Posté le 31-07-2003 à 09:45:43
LetoII a écrit : |
Et ça tombe bien parce que c'est justement ce qu'on veut !
Merci.
Marsh Posté le 31-07-2003 à 10:03:37
El_gringo a écrit : |
Ben non !
Comme dis plus haut, ce n'est que des entiers !
Par contre si tu veux que le resultat de la division ne soit pas un entier il faut que tu castes au moins un des nombres !
Exemple : (double)a/(double(b).
Marsh Posté le 31-07-2003 à 08:55:44
tout simplement, j'ai une durée en ms, et je cherche à la décomposer en heures, minutes, secondes, ms.
ça m'énerve
C'est surement tout bête, mais j'arrive pas à faire ça de manière efficace...
Heeelp !
Message édité par El_gringo le 31-07-2003 à 09:52:57