2010-05-21 88 views
0

我正在VS C#上的下面的代码,它转换用户输入 数学表达式并计算它。如何将对象转换为双精度?

 MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControl(); 
     sc.Language = "VBScript"; 

     sc.ExecuteStatement(
      "function pi\n" 
      + "pi = 3.14159265\n" 
      + "end function"); 

     sc.ExecuteStatement(
      "function e\n" 
      + "e = exp(1)\n" 
      + "end function"); 

     expression = textBox1.Text.ToString(); 
     expression = expression.Replace("x", i.ToString()); 
     object y = sc.Eval(expression); 

     string k = y.ToString(); 
     double result = double.Parse(k); 

这枚输出到与正确的结果控制台,我想 使用的值,使功能用户输入的图形,它的 不正确的练习。

谢谢你的帮助。

回答

9

使用强制:

double result = (double)y; 

或者,如果它不工作,尝试Convert.ToDouble

double result = Convert.ToDouble(y);