我是一名嵌入式c程序员.我之前使用过c#,但这是我第一次尝试复杂的,面向对象的项目.
我创建了一个数据表并链接到datagridview,以便在Windows窗体中显示数据.
到目前为止它运作良好.数据以int形式存储,主要包括自100秒之后的事件信息以来的时间. (这是比赛计时系统的前端).因此,例如12345表示123.45秒.
我想以2:03.45的形式表明这一点
我知道可以选择以日期和时间格式在数据表中存储数据.但是我不确定这是否能满足我的要求…没有日期要求,而且似乎没有覆盖100秒.
我可以格式化一个字符串,但这似乎有点笨重,所以想检查没有更好的方法.此外,我需要能够使用datagridview的排序功能,根据最短的时间对每列进行排序.这目前有效,但我不确定它会用字符串吗?
解决方法
您可以创建TimeSpan,然后将其格式化为您想要的任何格式:
TimeSpan span = TimeSpan.FromMinutes(123.45); string label = span.ToString(@"hh\:mm\:ss\:ff");
输出:
02:03:27
所以现在如果你希望输出为123分钟,45分钟为秒
double smd = 123.45; TimeSpan span = TimeSpan.FromMinutes(smd); string label = span.ToString(@"hh\:mm") + ":" + (int) (((decimal) smd % 1) * 100);