如何对从拆分字符串

时间:2017-02-22 01:21:50

标签: c# string math double

我想制作一个计算标准偏差的工具。

由于我希望用户将分发中的所有值放在同一个文本框中,因此我必须创建一个字符串。

我选择使用此方法将其拆分:



char[] delimiterChars = { ' ' };

 string values = richTextBox1.Text;

 string[] numberCount = values.Split(delimiterChars);


  foreach (string s in numberCount)
  {
   Convert.ToDouble(s); 
   
  }




然而,当我尝试使用' s '(例如MessageBox.Show(s -s);内的foreach (string s in numberCount) {进行数学运算时,它会以红色突出显示潦草地说,然后告诉我它不能将操作应用到'并且' s'因为它们是字符串类型。

我的问题是,为什么它告诉我' s'即使我使用Convert.ToDouble(s);将其转换为double,也是一个字符串? 我怎样才能完成这项工作,以总结在“价值”中分割出的所有价值观。变量?

提前致谢, JSGarden

P.S。:来源可在github.com/jsgarden/ecartMoyen

获得

2 个答案:

答案 0 :(得分:0)

您可以使用LINQ:

string[] numberCount = values.Split(delimiterChars);
double sum = numberCount.Select(s => double.Parse(s)).Sum();

答案 1 :(得分:0)

Convert.ToDouble(s);不会将s转换为Double,但会返回从字符串s转换的double值。您需要将返回的值存储到其他double变量中以对其执行数学运算。

string values = richTextBox1.Text;
string[] numberCount = values.Split(delimiterChars);
double totalValue = 0;

foreach (string s in numberCount)
{
   var doubleValue = Convert.ToDouble(s); 
   totalValue += doubleValue;
   MessageBox.Show(doubleValue - doubleValue);
}
相关问题