簡體   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