J'ai un certain nombre de miles et une vitesse en MPH que j'ai convertis en nombre d'heures nécessaires pour parcourir cette distance à cette vitesse. Maintenant, j'ai besoin de convertir ce nombre décimal en heures, minutes et secondes. Comment puis-je faire cela? Ma meilleure estimation en ce moment est:C++ convertit les heures décimales en heures, minutes et secondes
double time = distance/speed;
int hours = time; // double to integer conversion chops off decimal
int minutes = (time - hours) * 60;
int seconds = (((time - hours) * 60) - minutes) * 60;
Est-ce exact? Y a-t-il une meilleure manière de faire cela? Merci!
Oups, erreur mineure dans mes maths, mise à jour pour la corriger. –
Pour 'time' positif,' floor' est complètement superflu. Pour "time" négatif, c'est incorrect. – avakar
C'est faux. vous n'avez pas besoin de multiplier min * 60 !!! – Dani