使用【C#】写【将一个Double数组按时,分,秒,点转化为一个四级List列表,点满足1000,秒加1,秒满足60,分加1,分满60,时加1,时最大为24】的代码
时间: 2024-09-14 16:03:19 浏览: 41
一维数组的使用-C#程序设计基础
在 C# 中,你可以创建一个函数来实现这个需求。这里是一个示例代码片段:
```csharp
using System;
using System.Collections.Generic;
class Program
{
public static void Main(string[] args)
{
double[] timeArray = { 10, 35, 45, 500 }; // 示例输入数组
List<int> timeParts = ConvertTimeToParts(timeArray);
foreach (int part in timeParts)
{
Console.WriteLine(part);
}
}
public static List<int> ConvertTimeToParts(double[] input)
{
List<int> result = new List<int>();
int hours = (int)Math.Floor(input[0] / 60 / 60); // 时
int minutes = (int)Math.Floor((input[0] % (60 * 60)) / 60); // 分
int seconds = (int)Math.Floor((input[0] % (60 * 60)) % 60); // 秒
int milliseconds = (int)(input[0] % 60 * 1000); // 点
while (milliseconds >= 1000)
{
milliseconds -= 1000;
seconds++;
if (seconds == 60)
{
seconds = 0;
minutes++;
if (minutes == 60)
{
minutes = 0;
hours++;
if (hours > 23)
{
hours = 0; // 保持小时在0到23之间
}
}
}
}
result.Add(hours);
result.Add(minutes);
result.Add(seconds);
result.Add(milliseconds);
return result;
}
}
```
在这个例子中,`ConvertTimeToParts` 函数首先计算出小时、分钟、秒和毫秒,并处理溢出的情况。然后它按照给定的规则填充 `timeParts` 列表。主程序中展示了如何使用这个函数。
阅读全文