我让用户在 EditText 字段中输入数字,但我希望他们也能够在字段中输入 100+32+10。我只希望简单的表达式,常见的四个函数。事实上,只是添加也会减少它。
就加法而言,我想拆分字符串并自己做并不难,但我很想知道是否有一个库可以更干净地做我想做的事情。
有什么建议么?
我让用户在 EditText 字段中输入数字,但我希望他们也能够在字段中输入 100+32+10。我只希望简单的表达式,常见的四个函数。事实上,只是添加也会减少它。
就加法而言,我想拆分字符串并自己做并不难,但我很想知道是否有一个库可以更干净地做我想做的事情。
有什么建议么?
有大量的 Java 表达式库。
我在 Android 上使用JEXL没有任何问题,但还有很多其他选择。
全面的 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;
}