Какой самый простой способ преобразовать строку, например «5: 4», в числовое значение? - PullRequest
0 голосов
/ 04 мая 2019

Я работаю со строками в формате, который я упомянул, например, "5: 4", и мне нужно получить их значение (например, "5: 4" равно 1,25).

Простой .toDouble(), что будет лучшим подходом

Ответы [ 3 ]

1 голос
/ 04 мая 2019

Вы могли бы Iterable.reduce():

println(
        a.split(":").map { it.toDouble() }.reduce { a, b -> a / b }
) // 1.25
0 голосов
/ 04 мая 2019

Метод с простым Котлином, использующий метод String.split(), может выглядеть следующим образом:

// INPUT
val ratio = "5:4" // can be "5/4" as well

// splits given string into a list and then cast it's members into Double
val items : List<Double> = (ratio.split(":", "/")).map { it.toDouble() } // [5, 4]

var result = 0.0
// calculate the ratio
if (items.size == 2 && items[1] != 0.0)
    result = items[0] / items[1]

println(result) // 1.25
0 голосов
/ 04 мая 2019
String a="5:4";
a= a.replaceAll(":", "/");
float result = new Expression(a).eval();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...