Android:从字符串解析简单的数学公式

Android:从字符串解析简单的数学公式,android,Android,我让用户在EditText字段中输入数字,但我希望他们能够在字段中输入100+32+10。我只需要简单的表达式,常见的四个函数。事实上,仅仅是增加就可以减少它 除此之外,我想拆分字符串并自己动手并不难,但我很想知道是否有一个库可以更干净地完成我想要的任务 有什么建议吗?有很多Java表达式库 我在Android上使用过,没有任何问题,但还有很多其他选择 一个完整的EL可能比你需要的更多;实际上,世界上的每个人都编写了简单的表达式解析器,可能足以满足您的需要,也可能自己编写一个快速的表达式解析器。

我让用户在EditText字段中输入数字,但我希望他们能够在字段中输入100+32+10。我只需要简单的表达式,常见的四个函数。事实上,仅仅是增加就可以减少它

除此之外,我想拆分字符串并自己动手并不难,但我很想知道是否有一个库可以更干净地完成我想要的任务


有什么建议吗?

有很多Java表达式库

我在Android上使用过,没有任何问题,但还有很多其他选择


一个完整的EL可能比你需要的更多;实际上,世界上的每个人都编写了简单的表达式解析器,可能足以满足您的需要,也可能自己编写一个快速的表达式解析器。

为了让大家知道,我通过编写以下几行代码解决了我的问题:

public float calculateBillAmount(String expression){

    String delim = "\\+";
    String[] stringTokens = expression.split(delim);
    float result = 0;

    for (int i = 0; i < stringTokens.length; i++)   {
        result += Float.parseFloat(stringTokens[i]);
    }

    return result;
}
public float calculateBillAmount(字符串表达式){
字符串delim=“\\+”;
String[]stringTokens=expression.split(delim);
浮动结果=0;
for(int i=0;i
如果您只是在做加法,我只会使用
string.split()
。它将省去仅为此导入整个库的麻烦。如果您还想扩展到其他函数,您需要查看正则表达式或下面的某个库。@Eric,我认为您是对的。分裂似乎是最简单的方法。谢谢