我试图计算字符串的内容。
我有1个字符串,其中包含例如:MyString =" 1 + 5/2 * 4-2"现在我想计算该字符串的结果
我是c#
的新手我的代码:
string som = "";
int myInt;
private void getText_Click(object sender, EventArgs e)
{
string s = (sender as Button).Text;
som = som + s;
Console.WriteLine(som);
string[] words = som.Split(' ');
foreach (string word in words)
{
Console.WriteLine(word);
myInt += Convert.ToInt32(word);
}
Console.WriteLine(myInt);
我已经尝试this answer:
double result = (double) new DataTable().Compute("1+1*4/2-5", null);
int i = (int) result; // -2
但后来我得到了System.InvalidCastException
:
指定的演员表无效。
答案 0 :(得分:8)
您可以使用DataTable.Compute
- "技巧":
double result = (double) new DataTable().Compute("1+1*4/2-5", null);
int i = (int) result; // -2
备注 here下提到了语法和支持的运算符。