毫秒到秒?
问题描述:
我正在试图将我的字符串值(值为毫秒值)从几秒钟。毫秒到秒?
这里是我的代码,我想我的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最好的重载方法匹配(双)具有参数无效“
我不知道我必须将字符串转换为实际的毫秒值,然后使用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
}
答
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
}
答
作为错误消息表示,该方法接受double
类型的参数。由于没有从string
到double
的隐式转换,所以您需要将字符串表示转换为数字。
有几种方法可以完成转换。例如,您可以使用double.Parse
或double.TryParse
将string
转换为double
。
答
string durationMilli=DurationValue[1].TrimStart();
试着做这行
double durationMilli= Convert.ToDouble(DurationValue[1].TrimStart());
答
您可以使用以下方法来转换string
为double
:Convert.ToDouble()
,double.TryParse()
,或double.Parse()
。
+2
谢谢@Mark Landers,我会牢记它。 – Usher 2012-03-07 04:51:54
将它转换为双精度之前,它需要一个双重的功能? – Lalaland 2012-03-07 01:28:13
变量durationMilli不应该是'string'类型。它应该(如你所显示的例外信息所证明的)类型为'double'。 – 2012-03-07 01:29:18
这就像错误告诉你的:FromMilliseconds()期待double,但是你给它一个字符串。你必须把它变成一个双倍,然后才能像那样使用它。 http://msdn.microsoft.com/en-us/library/994c0zb1.aspx – 2012-03-07 01:30:04