2013-03-28 7 views
15

Se ho una doppia come 2.75, c'è un modo in Net formattarlo come '2:45'Convert decimale (2.75) al tempo (02:45)

Se è per esempio, 2,75555555555 , dovrebbe arrotondarlo al minuto più vicino. Non mi dispiacerebbe codificarlo da solo, ma mi chiedo se .Net può. Ho controllato ToString ma non ho trovato nulla.

Grazie

+0

Forse [questo] (http: //stackoverflow.com/questio ns/5852305/c-sharp-string-format-per-hours-and-minutes-from-decimal) darebbe un punto di partenza? – nkvu

+5

Cerca TimeSpan.FromHours –

+0

Controlla questa [SO Solution] (http://stackoverflow.com/a/5852329/125551) per conversione simile –

risposta

28

Usa TimeSpan e la sua ToString formattatore:

TimeSpan timespan = TimeSpan.FromHours(2.75); 
string output = timespan.ToString("h\\:mm"); 

Per esempio

TimeSpan.FromHours(2.75555).ToString("h\\:mm") 

uscite

2:45

+2

@HosseinNarimaniRad Probabilmente la tua risposta e la risposta di Sten sono state annullate perché non hai usato 'TimeSpan'. Non sono sicuro se sia sufficiente una ragione, ma questo è il mio sospetto. – MasterMastic

+0

@ Ken Grazie. –