我在将字符串解析为双精度浮点数时遇到了问题。我有一个StreamWriter
从文本文件中读取行,文本文件包含以下行:
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”。所以实际上,我不明白为什么不能将字符串转换为双精度浮点数。希望您能告诉我哪里做错了。