Flutter 计算器应用程序 - 如何在没有右括号的情况下进行计算?

Flutter calculator app -How can I calculate without closed bracket?

我正在使用 flutter 开发一个新的计算器应用程序。我也在使用 math_expression 包。但是不知何故,当我打开一个新的括号并写数字时,直到我关闭括号时它才开始计算(计算器将结果作为错误给出。我只希望计算器计算我在关闭括号之前写的方程式。我怎么能这样做。我应该使用哪个代码?你能简单解释一下吗? ]

我认为您应该在代码中假定所有括号都结束。这将适用于您的打印屏幕。但是会在(3+(5*这样的时刻出现问题 当您不知道用户想要乘以什么数字或表达式并在所有方程再次给出错误后关闭括号时。在这种情况下,最好向您的用户提供准确的信息,he/she 还没有写的东西而不是假设一些东西。

在将字符串解析为表达式之前,您可以像这样将括号添加到字符串中:

String currentExpression = "(2+(3*(5)";
  
currentExpression += ")" * ("\(".allMatches(currentExpression).length
                            -"\)".allMatches(currentExpression).length);

代码找到字符串中剩余的右括号的剩余量并将其添加到末尾。上面的代码 returns: (2+(3*(5))) 应该是可以解析的。