Форматирование значения с плавающей запятой как времени в C# с использованием TimeSpan и DateTime

Чтобы отформатировать значение с плавающей запятой как время в C#, вы можете использовать структуру TimeSpan, которая представляет временной интервал. Вот несколько способов добиться этого:

Метод 1: использование TimeSpan.FromHours, TimeSpan.FromMinutesи TimeSpan.FromSeconds:

float floatValue = 2.5f; // Example float value
TimeSpan timeSpan = TimeSpan.FromHours(floatValue); // Convert float to TimeSpan
string formattedTime = timeSpan.ToString(@"hh\:mm\:ss"); // Format TimeSpan as time string
Console.WriteLine(formattedTime);

Метод 2. Использование DateTimeи ToStringв специальном формате:

float floatValue = 2.5f; // Example float value
DateTime dateTime = DateTime.MinValue.AddHours(floatValue); // Convert float to DateTime
string formattedTime = dateTime.ToString("HH:mm:ss"); // Format DateTime as time string
Console.WriteLine(formattedTime);

Метод 3: использование строковой интерполяции и TimeSpan.FromSeconds:

float floatValue = 2.5f; // Example float value
int totalSeconds = (int)(floatValue * 3600); // Convert float to total seconds
TimeSpan timeSpan = TimeSpan.FromSeconds(totalSeconds); // Convert total seconds to TimeSpan
string formattedTime = $"{timeSpan.Hours:D2}:{timeSpan.Minutes:D2}:{timeSpan.Seconds:D2}"; // Format TimeSpan as time string
Console.WriteLine(formattedTime);

В приведенных выше методах значение с плавающей запятой представляет количество часов и преобразуется в объект TimeSpan или DateTime. Затем желаемый формат времени применяется с использованием строк пользовательского формата.