JavaScriptに精通している友人は、eval()関数に不慣れではない場合があります。それを使用して、動的コードの実行を実装できます。算術式を計算するために特別に使用されるWebページを書きました。計算能力は、少なくともより高い精度で、GoogleおよびBaidu計算機の計算能力よりも優れています。ただし、4つの操作が4つの操作を超えた場合、式の形式は非常に複雑になります。
log((5+5)^2)-3+piは、Math.log(math.pow(5+5,2))*Math.log10e-3+Math.piとして記述する必要があります。私はこれに理想的な解決策を考えていません。 OK、これはこの記事の主なトピックではありません。ただ手放しましょう。
少なくともコード形式では、ブログパークで次のコードを使用しているのを見てきましたが、それは非常に簡単です。
// public class class1 {static void main(string [] args){system.console.writeline( "hello world");文字列式= "var result:int = 0; result == 1?/" success/":/" failed/""; microsoft.jscript.vsa.vsaengine ve = microsoft.jscript.vsa.vsaengine.createengine(); console.writeLine(microsoft.jscript.eval.jscriptevaluate(expression、ve)); }}ただし、コンピレーション環境が次の警告を発していることは不快です。「microsoft.jscript.vsa.vsaengine」は時代遅れです。この機能に代わるものはありません。追加のヘルプについては、icodeCompilerのドキュメントをご覧ください。」もちろん、コードをコンパイルして実行することができます。
以下に、JavaScriptの評価機能を直接使用する別の方法を示します。 COMコンポーネントの助けを借りて、参照パスは%SystemRoot%/System32/msscript.ocxです。完全なコードを直接投稿します。
system; system.collections.generic; system.text; system.diagnostics; namespace scriptprogrammingを使用する{class program {static void main(string [] args){string strexpression = "1+2*3"; string stresult = eval(strexpression); console.writeLine(strexpression + "=" + strensult); console.writeLine( "任意のキーを押して続行します。"); console.readkey(); } /// <summary> ///参照comコンポーネントmicrosoftスクリプトコントロール/// try {msscriptcontrol.scriptcontrolclass jscript = new msscriptcontrol.scriptcontrolclass(); jscript.language = "jscript"; strenult = jscript.eval(expression).toString(); } catch(Exception ex){debug.fail(ex.message); } strensultを返します。 }}}動的コード実行(JSの評価)例の上記の詳細な説明は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。