gpt4 book ai didi

java - 如何将字符串类型的算术表达式转换为整数?

转载 作者:行者123 更新时间:2023-12-01 13:37:10 24 4
gpt4 key购买 nike

这是我运行这段代码后的代码,我收到异常:

fun main( args : Array<String>) {


var str:String = "(%d + %d)"
var str1:String

var a:Int = 12
var b:Int = 13

str1 = String.format(str,12,13)
var c:Int = str1.toInt()

print(c)

}
异常(exception) 下面给出了堆栈跟踪:
Exception in thread "main" java.lang.NumberFormatException: For input string: "(12 + 13)"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
at java.base/java.lang.Integer.parseInt(Integer.java:638)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at MainKotlinKt.main(mainKotlin.kt:13)
请帮我解决。

最佳答案

Kotlin .toInt()用于将字符串转换为整数,其中字符串必须包含整数值。但是您已经使用表达式将字符串转换为整数。
您可以从 here 阅读更多信息
但是如果你想计算一个表达式,那么这可以用 kotlin 脚本引擎来完成。
例子:

val engine = ScriptEngineManager().getEngineByExtension("kts")!!
engine.eval("val x = 8")
val result = engine.eval("x + 2")
Assert.assertEquals(10, result)
您可以从 here 获取更多信息

关于java - 如何将字符串类型的算术表达式转换为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62737346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com