如何将时间跨度转换为十进制?

pru*_*lan 5 .net c# timespan decimal

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

输入字符串不是有效格式

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

Son*_*nül 16

Convert.ToDecimal不适合这种转换?

不,你需要将其解析到TimeSpan第一(与具有文化:作为TimeSeparator当然的).然后你可以从中得到你想要的持续时间类型double.

var ts = TimeSpan.Parse("1.08:43:23", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

然后你可以使用你想要的持续时间类型的TotalXXX属性double(秒,毫秒等).