Округлить миллисекунды в TimeSpan - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Столкнулся с проблемой округления миллисекунд в TimeSpan. Пытался использовать Math.Round, однако не подходит. Надо, чтобы количество знаков в миллисекундах было не 7, а 1. То есть, надо получить не 00:00:00.4545148, а 00:00:00.5. Нашел похожее, но в VisualBasic (https://social.msdn.microsoft.com/Fo...orum=vbgeneral).

Решение задачи: «Округлить миллисекунды в TimeSpan»

textual
Листинг программы
ts.Seconds + ts.Milliseconds / 1000.0 // секунды с миллисекундами без учета дней, часов,  итд..
ts.TotalSeconds                       // полное число секунд с миллисекундами c учетом дней, годов итд..
 
// так можно получить строку времени с округлением:
String.Format("{0:00}:{1:00}:{2:00.#}",
    ts.TotalHours, ts.Minutes, ts.Seconds + ts.Milliseconds / 1000.0);
 
// так можно получить новый TimeSpan с округленными секундами:
TimeSpan.FromSeconds(Math.Round(ts.TotalSeconds, 1));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5