Arduino |字符串到整数的数学表达式
我有一个字符串数学表达式。我想把这个表达式转换成整数 例如:Arduino |字符串到整数的数学表达式,arduino,Arduino,我有一个字符串数学表达式。我想把这个表达式转换成整数 例如: char str[]="2*5"; 所以,对于arduino的这个例子,我需要得到10。我该怎么做呢?你不能用引号来做这件事。也许您只需要将其解析为字符串: int x = 2*5 String myString = String(x); 一个简单的解决方案是将表达式(使用regex或甚至sscanf[尽管我不推荐使用])拆分为数字(当然将数字转换为int\double)和运算符(可以保留为字符串) 并用数字切换数学运算符
char str[]="2*5";
所以,对于arduino的这个例子,我需要得到10。我该怎么做呢?你不能用引号来做这件事。也许您只需要将其解析为字符串:
int x = 2*5
String myString = String(x);
一个简单的解决方案是将表达式(使用regex或甚至sscanf[尽管我不推荐使用])拆分为数字(当然将数字转换为int\double)和运算符(可以保留为字符串) 并用数字切换数学运算符操作(如激活相关运算符) 在我看来,一个更好的解决办法是使用 a的表达式,它使解析和处理变得更加容易(特别是在使用堆栈解析它时)
还找到了一些有用的答案,我个人最喜欢的是我用TinyExpr库做的。它就像一个符咒
但我得到的是字符串类型的表达式。所以我需要将字符串解析为int。然后,在string对象上使用'toInt()'函数,但不能在字符串中进行数学运算。“2*5”返回2。这与您的问题非常接近,应该可以帮助您找到优化问题的解决方案—非常好的建议和非常好的库。谢谢