【发布时间】:2018-03-14 14:55:49
【问题描述】:
我想显示一个代表计时器的浮点数,我尝试将其格式化为:
00:00:00(分:秒:毫秒)
public static string ConvertToTime(float t){
TimeSpan ts = TimeSpan.FromSeconds(t);
return string.Format("{0:00}:{1:00}:{2:00}", ts.Minutes, ts.Seconds, ts.Milliseconds);
}
但这会给出完整的毫秒数,即使我用 00 定义格式,精度也不低。
例如,如果计时器是 3.4234063f,它应该输出 00:03:42 而不是 00:03:423。
这是一个基本的东西,但是我在使用时间跨度时无法解决它。
【问题讨论】:
-
我不明白你的问题。请用您想要的示例编辑您的问题。没错。
-
我也不懂。如果您在时间跨度的 MS 部分有 750 毫秒,您希望如何以两位数显示?
-
根据定义,一秒有 1000 毫秒 - 即毫秒是千分之一秒...如果您只想显示 2 位数字,您正在寻找的是百分之一秒,而不是千分之一秒。 .. 所以
ts.Milliseconds / 10 -
你为什么还要使用
Timespan?你只需要浮点数的小数部分和整数部分 mod 60 和整数部分 div 60。当你的意思是小数部分时不要使用冒号,使用句点否则你会混淆接下来查看此代码的人。 “00:00.00” -
你似乎想要的是厘秒,而不是毫秒
标签: c# timer timespan milliseconds