C#编程时,有一string,里面是以逗号为分隔的一串数字,怎么把这些数字提取出来

比如string为“1.234E0,2.05E1,-3.0E2,-1.1E-2”,其中E代表10的几次方。提取出来以后我想这些数是各自对应的类型,而不仅仅是split出来以后的string[]形式,最好把这些数放进一个数组里!并且这个string里有几个这样的数我不知道。
我的意思是,现在我可以用split分出来,比如分到了s中,那s[0]是1.234E0,s[3]是-1.1E-2,怎么把这些数放在一个double的数组里呢?
最新回答
憇憇圏

2025-03-27 18:49:32

string str="1.234E0,2.05E1,-3.0E2,-1.1E-2";
string[] strSplit=str.Split(',');
double[] val=new double[strSplit.GetLength(0)];

for (int i = 0; i < strSplit.GetLength(0); i++)
{
if (double.TryParse(strSplit[i],out val[i]))
Console.WriteLine("{0:E3}",val[i]);
else
Console.WriteLine("\nErrors: The string {0} can't cast to double type!",strSplit[i]);
}
栀夏暖阳

2025-03-27 15:47:23

...
string[] str= {"1.234E0","2.05E1","-3.0E2","-1.1E-2"};
double[] d= double[s.Length];

for (int i=0; i<str.Length; i++)
{
if (!Double.TryPaser(str[i], out d[i])) { ... ; break; } // convet wrong
}
...
追问

就选你的答案了,还想请问一下,你知不知道怎么画波形图不,像这种。我在网上查了说Teechart,可下载不到啊。

追答
研究一下 GDI+ Griphics 的应用吧。
巴拉拉能量作业消失

2025-03-27 17:56:56

string str = "1.234E0,2.05E1,-3.0E2,-1.1E-2";
string[] strSplit = str.Split(',');
double[] strDouble = new double[strSplit.Length];
for (int i = 0; i < strSplit.Length; i++)
{
strDouble[i] = Convert.ToDouble(strSplit[i]);
}
傷丶如花美眷

2025-03-27 02:11:48

double[] d= new double[s.Length];
for(int i =0;i<s.Length;i++)
d[i] = double.Parse(s[i]);
橘猫

2025-03-27 15:22:59

新建一个double数组,然后for循环赋值