【发布时间】:2012-07-09 02:39:07
【问题描述】:
我有一个长字符串,其中包含由# -value1#value2#value3# 等分隔的双类型值
我将它拆分为字符串表。然后,我想将此表中的每个元素转换为双精度类型,但出现错误。这里的类型转换有什么问题?
string a = "52.8725945#18.69872650000002#50.9028073#14.971600200000012#51.260062#15.5859949000000662452.23862099999999#19.372202799999250800000045#51.7808372#19.474096499999973#";
string[] someArray = a.Split(new char[] { '#' });
for (int i = 0; i < someArray.Length; i++)
{
Console.WriteLine(someArray[i]); // correct value
Convert.ToDouble(someArray[i]); // error
}
【问题讨论】:
-
什么错误?它对我来说很好......
-
@DaveBish 尝试遍历所有这些,您会发现索引 5 是一个错误的字符串,无法转换为双精度。
-
@StefanH:当然,但是索引 0 似乎很好。
-
您的一个输入值有两位小数。
-
查看字符串
tablicaLatLng[0]的字节数,应该会告诉你哪里出了问题。
标签: c# string double type-conversion