繁体   English   中英

将包含以空格分隔的数字的字符串转换为双精度列表c#

[英]Convert string containing numbers separated by spaces into list of doubles c#

我有这个字符串05201 05594 05453 05521 05330 04952 04984 04526 ,我需要把它变成一个双打数组。

我怎么能这样做,而不包括最后的额外空间?


编辑:我不需要变成一个双打数组,我需要跳过这一步并将其添加到现有的双打列表的末尾

尝试这个:

var splitted = yourString.Split(new []{" "}, 
                                          StringSplitOptions.RemoveEmptyEntries);
existingListOfDoubles.AddRange(splitted.Select(double.Parse));

ideone尝试一下。 编辑以匹配问题

var str = "05201 05594 05453 05521 05330 04952 04984 04526";
var result = str.Split(new char[] { ' ' },StringSplitOptions.RemoveEmptyEntries)
                .Select(Convert.ToDouble).ToList();
string stringList = "05201 05594 05453 05521 05330 04952 04984 04526 ";   
var doubles = stringList.TrimEnd().Split(' ').Select(s => double.Parse(s)).ToList();

拆分和转换。 这假设您的字符串仅包含数字。
使用List<double>而不是数组来获得更高级的功能

string inputString = "05201 05594 05453 05521 05330 04952 04984 04526 ";
string[] results = inputString.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
List<double> d = new List<double>();
d.AddRange(results.Select(x => Convert.ToDouble(x)));

现在,如果要存储在数组中,只需将List<double>转换回数组即可

double[] values = d.ToArray();

相反,如果您想将这些结果附加到现有的双打列表中

List<double> currentValues = new List<double>() {5345, 4213};
currentValues.AddRange(d);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM