C# 如何将timespan转换为十进制?

C# 如何将timespan转换为十进制?,c#,.net,decimal,timespan,C#,.net,Decimal,Timespan,我的文本框中的值正好是1.08:43:23,等于1d,08:43:23。我想将该值转换为十进制,以便将其乘以另一个十进制值,但是,当我使用convert.ToDecimal时,它返回错误 输入字符串的格式无效 Convert.ToDecimal是否不适合这种转换?有没有办法从这样的输入中创建一个十进制值?这将给出u的总刻度数 decimal dec = Convert.ToDecimal(TimeSpan.Parse("11:30").Ticks); 是转换。ToDecimal不适合这种转换吗

我的文本框中的值正好是
1.08:43:23
,等于1d,08:43:23。我想将该值转换为十进制,以便将其乘以另一个十进制值,但是,当我使用
convert.ToDecimal
时,它返回错误

输入字符串的格式无效


Convert.ToDecimal
是否不适合这种转换?有没有办法从这样的输入中创建一个十进制值?

这将给出u的总刻度数

decimal dec = Convert.ToDecimal(TimeSpan.Parse("11:30").Ticks);
转换。ToDecimal
不适合这种转换吗

不需要。您需要首先将其解析为
TimeSpan
(当然,文化中有
)。然后,您可以从中获得您想要作为
double
的持续时间类型

var ts = TimeSpan.Parse("1.08:43:23", CultureInfo.InvariantCulture);


然后,您可以使用您想要的双精度持续时间类型(秒、毫秒等)。

您可以使用TimeSpan的TotalSeconds属性您认为哪个小数点对应1d 08:43:32?您是将字符串转换为十进制,还是将timespan对象转换为十进制?您希望通过将时间长度与另一个时间长度相乘获得什么?我正在使用某种工资系统,我想根据TimeSpant获得收入此作品,非常感谢,先生,还不能标记“已回答”。我稍后会给它贴上标签,非常感谢,先生。这也很有效,非常感谢。虽然与上面的想法相同,但我还是会推荐你,介意我问你一个问题吗?@SuperPruuylan当然,这就是评论部分的目的。先生,你使用的是什么编译器?@SuperPruuylan Visual Studio Ultimate 2012。但是我想你应该试着问:“你在使用什么主题?”这是VS中默认的深色主题,你可以在
Tools->change Color theme->Dark
上更改它。此外,在调试过程中可以看到图片中的信息。您需要在感兴趣的行上设置断点,然后将鼠标悬停在变量上以查看其所有字段和属性的值。