我知道有使用 AS3 评估数学公式的解决方案:使用 MathParser,或将其移植到 JavaScript 和许多其他工具。
但是,如果我想手动评估数学公式,而不使用任何内置库怎么办?
它应该能够解决这个问题:1+(2*5+(9-6)/(5-2))+(6/2)*5
这就是我打算这样做的方式:
- 用左括号和右括号分隔字符串文字。
- 根据优先级对结果进行排序(通过从左到右扫描字符串,每次看到左括号时优先级增加。每次看到右括号然后降低)。
- 计算具有最高优先级的结果。
但是,我还没有能够成功地实现它。