0

AS3 で数式を評価するソリューションがあることは知っています: MathParser を使用するか、JavaScript や他の多くに移植します。

しかし、ビルドされたライブラリを使用せずに数式を手動で評価したい場合はどうすればよいでしょうか?
これを解決できるはずです:1+(2*5+(9-6)/(5-2))+(6/2)*5

これは私がそれについて行くつもりです:

  1. 文字列リテラルを左右の括弧で区切ります。
  2. 結果を優先順位でソートします (文字列を左から右にスキャンすることにより、左括弧が表示されるたびに優先順位が上がり、右括弧が表示されるたびに値が下がります)。
  3. 優先順位の高いものから結果を計算します。

しかし、私はまだそれをうまく実装できていません。

4

1 に答える 1

0

Shunting-yard アルゴリズムを使用して式を逆ポーランド記法に変換し、評価します。2番目の記事に良い例があります。

于 2012-09-29T11:32:02.123 に答える