如何将存储数字运算的字符串转换为数字,然后在Kotlin中得到结果

ycggw6v2  于 2022-11-25  发布在  Kotlin
关注(0)|答案(2)|浏览(142)

我有一个类似var string = "5+7+10"的字符串
有没有办法把它变成一个双精度数然后把它们加起来
var double = 22.0
我试图将运算符和数字存储在单独的变量中,但当我试图将它们相加时,它仍然不起作用

sqxo8psd

sqxo8psd1#

你不可能把它变成一个整体的双重,但是如果你把元素分开,一个一个地取,你就可以做到:

var string = "5+7+10"
    val array: List<String> = string.split("+")
    var sumDouble: Double = 0.0
    for (element in array) {
        sumDouble += java.lang.Double.parseDouble(element)
    }
    println(sumDouble.toString())

这将给予sumDouble = 22.0作为双精度浮点数。

2cmtqfgy

2cmtqfgy2#

使用KotlinSpirit库https://github.com/tiksem/KotlinSpirit

val r = double % '+'
r.compile().parseGetResultOrThrow("5+13.4+6").sum()

相关问题