@gibsonen

Как лучше считывать такие числа по средствам java из строки?

Есть строки такого вида:

0.0-2.013896591961E-04-1.136868377216E-12 (3 числа)

6.356909871101E-04-2.046363078989E-12 (2 числа)

Эти строки записаны по формату, то есть различных ситуаций по неопределенности чисел не будет.

Как из них можно считать число? Есть ли какой-то встроенный метод java, который парсит такие строки? Или только вручную это можно сделать с помощью, например, регулярных выражений?
  • Вопрос задан
  • 239 просмотров
Пригласить эксперта
Ответы на вопрос 1
VYakushev
@VYakushev
Разработчик Android в Nowtaxi
Встроенного ничего нет. Но с регулярными выражениями можно легко реализовать:

String src = "0.0-2.013896591961E-04-1.136868377216E-12";
Pattern p = Pattern.compile("\\d+\\.\\d+(E-\\d+)?");
Matcher m = p.matcher(src);
while (m.find()) {
    try {
        double value = Double.parseDouble(m.group(0));
        System.out.println(value);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}


Тут можно попробовать - tpcg.io/cZrFFv
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы