if I understand correctly, then for example .3 at the end means 3/10 of a minute, making it 18 seconds. If so, this is the way, in case you have time like "hh:mm:t" as you wrote:
public static class TimeSpanExtension
{
public static TimeSpan TryParseTenth(string timeSpanString)
{
//change following line to accomodate date format if needed
timeSpanString += "0";
TimeSpan ts = new TimeSpan();
if (TimeSpan.TryParse(timeSpanString, out ts))
{
// recalculate from tenth of minute into seconds
float realSeconds = ts.Seconds * 60 / 100;
//final operation to correct
return ts.Subtract(new TimeSpan(0, 0, ts.Seconds - (int)realSeconds));
}
else
return TimeSpan.Zero;
}
}
usage:
string time = "06:55:3";
var timeSpan = TimeSpanExtension.TryParseTenth(time);
resulting in 6h55m18s as I wrote at the top