1

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

就加法而言,我想拆分字符串并自己做并不难,但我很想知道是否有一个库可以更干净地做我想做的事情。

有什么建议么?

4

2 回答 2

2

有大量的 Java 表达式库。

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

全面的 EL 可能超出您的需要;基本上世界上的每个人都编写了简单的表达式解析器,它们可能足以满足您的需求,或者自己编写一个快速的解析器。

于 2012-08-16T19:14:02.367 回答
1

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

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;
}
于 2012-08-16T20:12:07.170 回答