可能是重复问题:
使用数学运算符评估C#字符串
假设我有一个基本字符串,其值为“1 * 2 + 4”。
我该如何解析信息并进行计算?
我正在自学C#,但我的假设是这是编程中常见的问题,但如果不使用库,怎么做呢?
到目前为止,我的结果是将字符串拆分并将它们放入字符数组中,但是由于我正在尝试弄清楚如何将字符与运算符和字符与整数进行比较,因此在这里停止了。
我不确定我是否正在正确处理这个问题,但如果有人能指点我正确的方向,那就太好了。
感谢您提前的帮助。
可能是重复问题:
使用数学运算符评估C#字符串
假设我有一个基本字符串,其值为“1 * 2 + 4”。
我该如何解析信息并进行计算?
我正在自学C#,但我的假设是这是编程中常见的问题,但如果不使用库,怎么做呢?
到目前为止,我的结果是将字符串拆分并将它们放入字符数组中,但是由于我正在尝试弄清楚如何将字符与运算符和字符与整数进行比较,因此在这里停止了。
我不确定我是否正在正确处理这个问题,但如果有人能指点我正确的方向,那就太好了。
感谢您提前的帮助。
Shunting-yard
算法。你需要至少两个栈;一个用于存储运算符,一个用于存储操作数。当你填充这些栈后,你可以生成 RPN
并计算答案。
4+2*3
的结果为10(即乘除法优先于加减法),请查看https://dev59.com/f2455IYBdhLWcg3wAvbQ#4582438或尝试在SO上搜索“equation parser”。 - rajah9