Округлить миллисекунды в 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));