我有字符串数学表达式。我想将此表达式转换为整数。
示例:
char str[]="2*5";
所以,我需要在arduino中获得10这个例子。我怎么能这样做?
答案 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库做到了。它就像一个魅力!