格式化 TimeSpan 对象始终显示 00 毫秒
Formatting a TimeSpan object is always displaying 00 for milliseconds
此处为 C# WinForms。
我需要从类似的字符串中提取秒和毫秒:“13.9”,其中 13 是秒,9 是毫秒。
为此,我使用 String.Split() 函数,并在创建具有相应值的 TimeSpan 对象后(假设 TimeString 为“13.9”):
private TimeSpan TimeSplit(string TimeString)
{
var Seconds = Int32.Parse(TimeString.Split('.')[0]); //output 13
var Milliseconds = Int32.Parse(TimeString.Split('.')[1]); //output 9
var ts = new TimeSpan(0, 0, 0, Milliseconds, Decimals);
return ts;
}
现在我需要使用 TimeSpan 来显示格式化输出:
TimeSpan TempTs = TimeSplit(output);
SetTextMP(TempTs.ToString(@"hh\:mm\:ss\.ff"));
我需要这样的输出:hh:mm:ss.ff 但在我的尝试中 Milliseconds(ff) 保持固定为 0。我检查过它们在那里..
如评论中所述,这里的问题是因为 9 毫秒等于 0.009 秒。 运行 它与格式说明符 fff 一起显示完整的毫秒值。
此处为 C# WinForms。
我需要从类似的字符串中提取秒和毫秒:“13.9”,其中 13 是秒,9 是毫秒。 为此,我使用 String.Split() 函数,并在创建具有相应值的 TimeSpan 对象后(假设 TimeString 为“13.9”):
private TimeSpan TimeSplit(string TimeString)
{
var Seconds = Int32.Parse(TimeString.Split('.')[0]); //output 13
var Milliseconds = Int32.Parse(TimeString.Split('.')[1]); //output 9
var ts = new TimeSpan(0, 0, 0, Milliseconds, Decimals);
return ts;
}
现在我需要使用 TimeSpan 来显示格式化输出:
TimeSpan TempTs = TimeSplit(output);
SetTextMP(TempTs.ToString(@"hh\:mm\:ss\.ff"));
我需要这样的输出:hh:mm:ss.ff 但在我的尝试中 Milliseconds(ff) 保持固定为 0。我检查过它们在那里..
如评论中所述,这里的问题是因为 9 毫秒等于 0.009 秒。 运行 它与格式说明符 fff 一起显示完整的毫秒值。