我有一個解析字符串到double的問題。我從文本文件中讀取一行StreamWriter
。該文本文件有以下幾行:不能double.Parse字符串
17-09-2012: (100,98)
17-09-2012: (50,57)
現在,我想從裏面括號使用的值,它們相加,並在文本框中顯示出來。到目前爲止,我有以下幾點:
int counter = 0;
double res = 0;
string line;
System.IO.StreamReader file = new System.IO.StreamReader("d:\\test.txt");
while ((line = file.ReadLine()) != null)
{
string par = Regex.Match(line, @"\(([^)]*)\)").Value;
double par2 = double.Parse(par);
res += par2;
counter++;
}
file.Close();
textBox1.Text = res.ToString();
然而,顯然輸入字符串是不正確的格式,我覺得相當奇怪,因爲正則表達式應該刪除一切,但括號內的數字。我甚至通過將字符串寫入文本框而沒有先將它們添加到一起來檢查了這一點,並且它顯示"100,9850,57"
。所以真的,我不明白,爲什麼它不能將字符串轉換爲double。
我希望你能告訴我,我做錯了什麼。
+1用於添加SSCCE並顯示您嘗試過的內容。 –
我不確定您的語言是否支持您的雙倍逗號 – gtgaxiola
我不認爲是這種情況,因爲我製作了一個計算器,實際上它可以處理包含逗號的數字。當時我沒有做任何特別的事情來允許這一點。 – Robin