簡體   English   中英

Arduino | 字符串到整數數學表達式

[英]Arduino | String to Int Math Expression

我有字符串數學表達式。 我想將此表達式轉換為整數。

例:

    char str[]="2*5";

因此,我需要在arduino中獲得10個該示例。 我怎樣才能做到這一點 ?

您不能用引號引起來。 也許您只想將其解析為String:

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

一個幼稚的解決方案是將表達式(使用regex甚至sscanf [即使我不推薦])拆分為數字(當然,將數字轉換為int \\ doubles)和運算符(可以保留為字符串)並切換用數字為數學運算符動作加上大小寫(如激活相關運算符一樣)。

在我看來,更好的解決方案是使用SY算法(維基)將表達式轉換為反向波蘭表示法(維基) ,這使事情更易於解析和使用(尤其是如果您要使用堆棧來解析它的話)

在這里(從字符串求值)在這里(帶有數學表達式的拆分 字符串)也找到了一些有用的答案,還有我個人最喜歡的答案(從字符串 求算術)

我是用TinyExpr庫完成的。 它就像一個魅力!

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM