我想制作一个计算标准偏差的工具。
由于我希望用户将分发中的所有值放在同一个文本框中,因此我必须创建一个字符串。
我选择使用此方法将其拆分:
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
获得答案 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);
}