0

与えられたフィールドは、価格、通貨、数式です。数式を読み、価格と通貨が入る場所を置き換える必要があります。例:

(((Price+12,9)+((Price+12,9)*0,05)+(((Price+12,9)+((Price+12,9)*0,05))*0,029)+0,45)*Currency)+(2*Currency)

したがって、上記を行うために、私は次のことを行っています。

string formula = iFormula.Text.Replace("Price", price.ToString("n2")).Replace("Currency", currency.ToString("n2"));

価格と通貨が正しくフォーマットされていることを確認したいので、それらは置換前に小数に解析されます。

ここで問題が発生します。数式が有効であることを確認し、その結果を取得するにはどうすればよいですか?

数式を評価して計算するライブラリはありますか?

4

2 に答える 2

1

オープンソース ライブラリVici Core ( Vici Projectの一部) には、実行時に式を解析および評価できる式パーサーが含まれています。オープンソースです。

于 2012-07-01T20:44:15.980 に答える
0

eval.NET BCL にはJavascript のような機能はありません。

ただし、必要な関数を含む C# でファイルを作成し (簡単です)、コンパイルし (手順については Microsoft のハウツーを参照)、取得した実行可能ファイルを実行して結果を取得できます。コンパイル エラーは、式が間違っていることを意味します。コンパイル ステップからエラー メッセージと位置が表示されます。

于 2012-07-01T20:43:54.520 に答える