このような文字列式を評価するには、C#内の(123/2 * 15 + 22) が最適です。C#数式(123/2 * 15 + 22)評価
私はICodeCompiledを使うべきだと読んだが、この非常に簡単なことをするための良い実装を見つけることはできなかった。
ご迷惑をおかけして申し訳ございません。
このような文字列式を評価するには、C#内の(123/2 * 15 + 22) が最適です。C#数式(123/2 * 15 + 22)評価
私はICodeCompiledを使うべきだと読んだが、この非常に簡単なことをするための良い実装を見つけることはできなかった。
ご迷惑をおかけして申し訳ございません。
this one at CodeProjectなどの式パーサーを使用できます。
ICodeCompilerのMSDNのドキュメントをご覧ください。
-1:申し訳ありませんが、これは単なる役に立たない答えです。ドキュメントへのリンクを付けることで、もっと役立つでしょう。 P.S.あなたが答えを良くするなら、私はdownvoteを削除します。 –
このタイプの問題については、通常はFLEEをお勧めします。私は方程式の評価と基本的なDSLの作業を行うのに良い経験をしています。
class Program {
static void Main(string[] args) {
var calc = new System.Data.DataTable();
Console.WriteLine(calc.Compute("(123/2*15+22)", ""));
Console.ReadLine();
}
}
出力:944.5あなたが望むだろう
'((1/2)* 2)' 0または1であることを? –