簡體   English   中英

在C#中解析字符串中的多個雙精度數

[英]Parse multiple doubles from string in C#

我有一個包含已知數量的double值的字符串。 解析字符串並將結果插入匹配的標量變量的最簡潔方法(通過C#)是什么? 基本上,我想做相當於這個sscanf語句,但在C#中:

sscanf( textBuff, "%lg %lg %lg %lg %lg %lg", &X, &Y, &Z, &I, &J, &K );

...假設“ textBuff ”可能包含以下內容:

"-1.123    4.234  34.12  126.4  99      22"

......並且每個值之間的空格字符數可能會有所不同。

謝謝你的任何指示。

string textBuff = "-1.123    4.234  34.12  126.4  99      22";

double[] result = textBuff
    .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
    .Select(s => double.Parse(s))
    .ToArray();

double x = result[0];
//    ...
double k = result[5];

要么

string textBuff = "-1.123    4.234  34.12  126.4  99      22";

string[] result = textBuff
    .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

double x = double.Parse(result[0]);
//    ...
double k = double.Parse(result[5]);

您可以使用String.Split('',StringSplitOptions.RemoveEmptyEntries)將其拆分為“單個值”。 然后它是一個直的Double.Parse(或TryParse)

foreach( Match m in Regex.Matches(inputString, @"[-+]?\d+(?:\.\d+)?") )
    DoSomething(m.Value);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM