2017-04-13 155 views
0

我不確定我使用的術語是否正確。但我有一個字符串表達式,我希望它被計算。 這個例子如何評估(數學)字符串表達式,vb.net

Dim S = "4+4" 
dim result = evaluate(S) 'some sort of treatment // that return 8 

我不知道這將如何工作。我熟悉JS eval函數。但似乎我需要添加某種類型的庫。我不想這樣做。 我已經發現了一些鏈接關於使用

dim s = new expression("4+4") 

和獲得的結果與

s.evaluate() 

但需要添加另一個庫。 正如我之前所說,我不想使用任何庫。 我只想解決如何進行?我打了一堵牆。 順便說一句,我仍然是一個初學者嘗試回答儘可能簡單,我會很感激。

+0

我們告訴你使用SomeBuiltInThing.Eval(有沒有像這樣的東西)並告訴你使用像http://ncalc.codeplex.com/這樣的第三方庫有什麼區別? –

+0

請閱讀https://msdn.microsoft.com/en-us/library/system.data.datatable.compute(v=vs.110).aspx –

回答

4

可以使用DataTable.Compute - 「絕招」:

Dim tbl = new DataTable() 
Dim result = Convert.ToDouble(tbl.Compute("4+4", Nothing)) 

以下算術運算符表達式的支持:

+ (addition) 
- (subtraction) 
* (multiplication) 
/(division) 
% (modulus) 

更多信息:DataColumn.Expression表達式語法