Arduino |字符串到Int Math表达式

时间:2018-04-15 16:23:17

标签: arduino

我有字符串数学表达式。我想将此表达式转换为整数。

示例:

    char str[]="2*5";

所以,我需要在arduino中获得10这个例子。我怎么能这样做?

3 个答案:

答案 0 :(得分:0)

您无法在引号中执行此操作。也许你只想将它解析为String:

int x = 2*5
String myString = String(x);

答案 1 :(得分:0)

一个天真的解决方案是将表达式(使用正则表达式甚至sscanf [即使我不推荐它])分割成数字(当然将数字转换为int \ double)和运算符(可以保留为字符串) ) 并使用数字切换数学运算符动作(如激活相关运算符)。

我认为更好的解决方案是使用SY algorithem (wiki)进行转换 表达式为Reverse Polish notation(wiki),这使得解析和使用更容易(特别是如果你使用堆栈来解析它)

还找到了一些有用的答案here(evaluating from string)here (split string with math expression)和我个人最喜欢的here (evaluate arithmetic from string)

答案 2 :(得分:0)

我用TinyExpr库做到了。它就像一个魅力!

https://github.com/codeplea/tinyexpr/blob/master/README.md