格式化 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 一起显示完整的毫秒值。