秒到几秒?

时间:2012-03-07 01:26:56

标签: c#

我试图从秒开始转换我的字符串值(值为毫秒值)。

这是我的代码,我试图在我的xml附加内容中进行转换

xmlElement = doc.CreateNode(XmlNodeType.Element, "duration", null);
//Convert Milliseconds to Seconds

string durationMilli=DurationValue[1].TrimStart();
TimeSpan ts = TimeSpan.FromSeconds(durationMilli);//tried this didn't work
TimeSpan ts = TimeSpan.FromMilliseconds(durationMilli).TotalSeconds;//then tried this didn't work either
xmlElement.InnerText = DurationValue[1].TrimStart();
newChild.AppendChild(xmlElement);

它在扔:

  

“System.Timespan.FromMilliseconds(double)的最佳重载方法匹配具有无效参数”

我不确定我必须将字符串转换为实际毫秒值然后使用timespan转换为秒?请指导我。

先谢谢。

修改了一点代码,这就是我的代码中使用的代码(这是答案)

  string durationMilli = DurationValue[1].TrimStart();
            double milliseconds;
            // Try to convert string to double
            if (double.TryParse(durationMilli, out milliseconds))
            {
                // milliseconds now contains your value
                double ds = Math.Round(TimeSpan.FromMilliseconds(milliseconds).TotalSeconds);
                string totalsec = ds.ToString();
                xmlElement.InnerText = totalsec;
                newChild.AppendChild(xmlElement);
            }
            else
            {
                // durationMilli is not valid double - perhaps it contains letters or some special characters, report an error
            }

4 个答案:

答案 0 :(得分:2)

如错误消息所示,该方法接受类型为double的参数。由于没有从stringdouble的隐式转换,是的,您需要将字符串表示转换为数字。

有几种方法可以完成转换。例如,您可以使用double.Parsedouble.TryParsestring转换为double

答案 1 :(得分:2)

    string durationMilli=DurationValue[1].TrimStart();

尝试制作此行

    double durationMilli= Convert.ToDouble(DurationValue[1].TrimStart());

答案 2 :(得分:2)

durationMilli是一个字符串。要尝试将其转换为双重使用

string durationMilli=DurationValue[1].TrimStart();
double milliseconds;
// Try to convert string to double
if (double.TryParse(durationMilli, out milliseconds))
{
   // milliseconds now contains your value

   TimeSpan ts = TimeSpan.FromSeconds(milliseconds);
   xmlElement.InnerText = DurationValue[1].TrimStart();
   newChild.AppendChild(xmlElement);
}
else
{
   // durationMilli is not valid double - perhaps it contains letters or some special characters, report an error
}

答案 3 :(得分:1)

您可以使用以下任何一种方法将string转换为doubleConvert.ToDouble()double.TryParse()double.Parse()