Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino |字符串到整数的数学表达式_Arduino - Fatal编程技术网

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。这与您的问题非常接近,应该可以帮助您找到优化问题的解决方案—非常好的建议和非常好的库。谢谢