我想在不使用脚本引擎的情况下计算字符串表达式:
字符串表达式可以如下所示:
"((真&(!假(||真(&&真(&真"
任何人都知道如何使用 kotlin 在 android 中完成此操作
谢谢
Kotlin Android
app.gradle file
添加新依赖项
dependencies {
implementation 'net.objecthunter:exp4j:0.4.8'
}
主.kt 文件
var value = TextView.text.toString()
var result = ExpressionBuilder(value).build().evaluate()
我知道我的回答在字符串表达式包含真、假、&&、||、! 和 (( 的情况下对您没有帮助。但是对于那些想要计算数学表达式的人,我发现这个库几乎可以处理所有数学运算符。
将其添加到您的项目中并以这种方式使用它
// In root build.gradle
repositories {
maven {
url "https://dl.bintray.com/kaendagger/KParser"
}
}
//Add in the dependencies
dependencies{
implementation 'io.kaen.dagger:KParser-jvm:0.1.1'
}
然后在你的代码中,你可以做这样的事情
val parser = ExpressionParser()
val result = parser.evaluate("5+1+cos(PI)-2*2/4")
println(result)