TimeSpan. Formatowanie danych oraz z logika.

0

Chciałem dla testu napisać prosty program, który przelicza sekundy na czytelne dane w postaci godziny:minuty:sekundy.

 public static string GetReadableTime(int n)
        {

                TimeSpan result = TimeSpan.FromSeconds(n);
                string str = string.Format("{0:00}:{1:00}:{2:00}", result.TotalHours, result.Minutes, result.Seconds);
                var output = Convert.ToString(str);
                Console.WriteLine(output);

                return output;

        }

Problem jaki mam to po pierwsze, jak mam sformatować wynik aby w przypadku zapisania result.Hours zamiast result.TotalHours nie wyświetlał się wynik w postaci DD:HH:MM:SS. a HH:MM:SS. Natomiast druga sprawa to nie rozumiem do końca właściwości result.TotalHours. W pewnych zakresach działa poprawnie, zwraca poprawna wartość aby w innych "połknąć " godzinę. I tak w przypadku n = 359999 powinno podać 99:59:59 a wynik to 100:59:59.

Czy mógłby ktoś spojrzeć nas to ? :(

1

359999 sekund to jakieś 99,99997 godziny, ponieważ Ty nie chcesz wyświetlać miejsc dziesiętnych, to wyświetla się 100. Jak to naprawić? Zrzutować TotalHours na int. ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1