"(4+8)*2"
のような文字列を評価してint値24を取得する簡単な方法はありますか?
それとも、これを行うために必要な作業がたくさんありますか...?
Ncalcを使用する:
Expression e = new Expression("(4+8)*2");
Debug.Assert(24 == e.Evaluate());
また、この質問は以前に尋ねられたものであり、Ncalcを含むいくつかの興味深い回答があります: 文字列 "3 *(4 + 2)"を評価するとint 18
他の誰かがこれを追加した後、削除されました。サードパーティのライブラリが必要ないので、かなりクールだと思いました。
class Program { static void Main(string [] args) { Console.WriteLine(Evaluate( "(4 + 8) * 2 ")); Console.ReadKey(); } public static double Evaluate(string expression) { DataTable table = new DataTable(); table.Columns.Add( "expression"、typeof(string)、expression); DataRow row = table.NewRow(); table.Rows.Add(row); return double.Parse((string)row ["expression"]); } }