我的文本框中的值恰好为1.08:43:23
,等于1d,08:43:23。我希望将值转换为十进制,然后将其乘以另一个十进制值,但是当我使用Convert.ToDecimal
时,它会返回错误
输入字符串不是有效格式
Convert.ToDecimal
不适合这种转换吗?有没有办法从这样的输入创建一个十进制值?
答案 0 :(得分:15)
Convert.ToDecimal
不适合这种转换吗?
没有。您需要先将其解析为TimeSpan
(当然,文化中:
为TimeSeparator
。)。然后,您可以从中获取double
所需的持续时间类型。
var ts = TimeSpan.Parse("1.08:43:23", CultureInfo.InvariantCulture);
然后你可以使用TotalXXX
properties类型的持续时间作为double
(秒,毫秒等)。
答案 1 :(得分:3)
这将给出你的总票数..
decimal dec = Convert.ToDecimal(TimeSpan.Parse("11:30").Ticks);