标签:arch try mes display cond 情况 img second ima
原文:WPF中TimeSpan的坑记一次在WPF中,在将格式为“DD.HH:mm:ss”字符串转换成TimeSpan时遇到的坑
如果字符串为:DD.HH:mm:ss,转换结果正确。例如:
1 var currentValue = "2.12:25:45.555"; 2 TimeSpan result; 3 var success = TimeSpan.TryParse(currentValue, out result); 4 Console.Write("转换前:"+currentValue); 5 Console.WriteLine("转换后:"+success + " "+ result.ToString());
以上输出结果:转换前:2.12:25:45.555转换后:True 2.12:25:45.555
分别更改时间戳不同部分,使其超过对应的最大值。
问题:
对于毫秒数,我们知道1s=1000ms。当字符串中毫秒数超过1000时,会是什么情况。
如上测试可以看出,在ToString()时,毫秒位数为7位。超过其范围4位。最后四位是什么含义呢?答案:最后四位为纳秒有效数字位。(1ms=10000纳秒)
图1毫秒部分大于3位小于7位
如图1所示。转换前:2.12:25:45.125555 转换后:True 2.12:25:45.1255550 ,毫秒125
图2毫秒部分为7位
如图2所示。转换前:2.12:25:45.1255555 转换后:True 2.12:25:45.1255555 ,毫秒125
图3毫秒部分大于7位
如图3所示。转换前:2.12:25:45.125555555 转换后:False 转换失败
总结:
标签:arch try mes display cond 情况 img second ima
原文地址:https://www.cnblogs.com/lonelyxmas/p/10850652.html