0 votes

Chaîne de format numérique : double à l'heure

J'ai une valeur double en secondes et j'aimerais utiliser une chaîne de format numérique pour l'afficher en mm:ss ou hh:mm:ss. Est-ce possible? Je n'ai rien trouvé à ce sujet sur MSDN?

La raison est que nous utilisons un graphique Telerik qui affiche nos données et comme je ne peux pas changer le format sous-jacent, je dois connecter la chaîne de format à leur API de graphique.

Merci d'avance Johan

1voto

Carra Points 6832

Vous recherchez la classe TimeSpan.

0voto

Neil Barnwell Points 20731

Utilisez ce qui suit :

var ts = new TimeSpan(0, 0, 0, (int) doubleValueOfSeconds, 0);

Bien sûr, vous voudrez peut-être envisager un arrondi plus précis de la valeur à virgule flottante, plutôt que la troncature comme dans mon exemple.

Jetez un œil à TimeSpan sur MSDN pour obtenir la valeur de chaîne, bien que la manière la plus simple actuelle spécifique à la culture actuelle serait TimeSpan.ToString().

MISE À JOUR de la question mise à jour :

Vous ne pouvez pas formater directement un nombre de secondes en une date et une heure. Le formatage est essentiellement une manipulation de chaîne, et vous devez effectuer des calculs avant que ce formatage ne se produise.

Utilisez mon exemple ci-dessus, puis appelez TimeSpan.ToString(formatString); pour obtenir les valeurs de chaîne à donner au contrôle.

Cela suppose que vous n'avez simplement pas simplement omis quelque chose. Personnellement, je pense que les contrôles Telerik sont beaucoup trop complexes, mais je suis sûr qu'ils auront un formatage intégré. Essentiellement, écrivez du code en utilisant mon exemple ci-dessus pour créer les données avec des intervalles de temps, puis utilisez la chaîne de format intégrée pour indiquer au contrôle comment formater l'intervalle de temps pour la série de données donnée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X