string s = "1.23 5.35 3.45 5.65";
string[] arr = s.Split(' '); double[] dblValues = new double[arr.Length];
for (int i = 0; i < arr.Length; i++)
{
if (!double.TryParse(arr[i], out dblValues[i]))
Console.WriteLine("{0}", dblValues[i]);
}
我的目的是把字符串分割,分割完后分别输出1.23 5.35 这样的数,用作后续程序中的公式系数,所以要清楚的知道分割后这些数的位置(或者索引号),以便以后的程序方便引用!请指教!!!
另外,这段代码为什么运行时Console.WriteLine("{0}", dblValues[i]);控制台没有输出结果呢?
string[] arr = s.Split(' '); double[] dblValues = new double[arr.Length];
for (int i = 0; i < arr.Length; i++)
{
if (!double.TryParse(arr[i], out dblValues[i]))
Console.WriteLine("{0}", dblValues[i]);
}
我的目的是把字符串分割,分割完后分别输出1.23 5.35 这样的数,用作后续程序中的公式系数,所以要清楚的知道分割后这些数的位置(或者索引号),以便以后的程序方便引用!请指教!!!
另外,这段代码为什么运行时Console.WriteLine("{0}", dblValues[i]);控制台没有输出结果呢?
去掉“!” 这个判断下是如果转换没成功才会执行的。
string s = "1.23 5.35 3.45 5.65";
string[] arr = s.Split(' ');
double[] dblValues = Array.ConvertAll<string, double>(arr, ToDuble);
}
public double ToDuble(string s)
{
double i;
if (double.TryParse(s, out i))
{
return i;
}
else
{
return -1.01;
}
}
double.TryParse转换成功,则为 true
foreach(string s in str.Split(' '))
{
if(double.TryParse(s,out dblValues[i]))
Console.WriteLine("{0}", dblValues[i]);
}