设置ListBox项数据格式c#
很抱歉,如果因为我的英语不好,标题让你感到困惑。 我有一个列表框,其中包含许多具有时间格式的项目 (例如:00:02:22:33) 我想把这个时间格式转换成分钟设置ListBox项数据格式c#,c#,listbox,C#,Listbox,很抱歉,如果因为我的英语不好,标题让你感到困惑。 我有一个列表框,其中包含许多具有时间格式的项目 (例如:00:02:22:33) 我想把这个时间格式转换成分钟 For example: 00:02:22:33 -> 02 hours = 120 minutes 33 seconds = 33/60 = 0.55 minutes So result is 120+22+0.55 = 142.55 我试着写一个方法,比如: publ
For example: 00:02:22:33 -> 02 hours = 120 minutes
33 seconds = 33/60 = 0.55 minutes
So result is 120+22+0.55 = 142.55
我试着写一个方法,比如:
public static void Timeconvert(ListBox l)
{
foreach (var item in l.Items)
{
int x, int y, int z; //It just to show you my thought
if(item.format = 00:x:y:z)
{
int result = x*60 +y + z/60 ;
item = result.Tostring();
}
}
}
我刚接触C#所以我尽可能详细地解释了,所以请帮助我:(只需将字符串解析为时间跨度,并使用
TotalMinutes
属性
var time = TimeSpan.Parse("00:02:22:33");
var convertedToMinutes = time.TotalMinutes; //Returns 142.55
这将更新您的列表项
for (int i = 0; i < listBox1.Items.Count; i++)
{
TimeSpan time = TimeSpan.Parse(listBox1.Items[i].ToString());
listBox1.Items[i] = time.TotalMinutes;
}
for(int i=0;i
或者,
TryParse()
可以用于处理格式不正确的字符串:if(TimeSpan.TryParse(listBox1.Items[i].ToString(),out time)){listBox1.Items[i]=time.TotalMinutes;}
只需将字符串作为时间跨度进行分析,并使用TotalMinutes
属性即可
var time = TimeSpan.Parse("00:02:22:33");
var convertedToMinutes = time.TotalMinutes; //Returns 142.55
这将更新您的列表项
for (int i = 0; i < listBox1.Items.Count; i++)
{
TimeSpan time = TimeSpan.Parse(listBox1.Items[i].ToString());
listBox1.Items[i] = time.TotalMinutes;
}
for(int i=0;i
或者,TryParse()
可以用于处理格式不正确的字符串:如果(TimeSpan.TryParse(listBox1.Items[i].ToString(),out time)){listBox1.Items[i]=time.TotalMinutes;}
您可以尝试以下操作:
var regex = new System.Text.RegularExpressions.Regex(@"00:\d{2}:\d{2}:\d{2}");
foreach (var item in l.Items)
{
if (regex.IsMatch(item))
{
item = TimeSpan.Parse(item).TotalMinutes.ToString();
}
}
你可以尝试以下方法:
var regex = new System.Text.RegularExpressions.Regex(@"00:\d{2}:\d{2}:\d{2}");
foreach (var item in l.Items)
{
if (regex.IsMatch(item))
{
item = TimeSpan.Parse(item).TotalMinutes.ToString();
}
}
非常感谢!非常感谢!