Как преобразовать строку в массив с плавающей точкой? - PullRequest
0 голосов
/ 04 мая 2019

У меня есть String, как это:

String volt = “[1.2, 3.1, 5.3]”;

Как я могу преобразовать String в float массив?

Ответы [ 3 ]

2 голосов
/ 04 мая 2019

В Java 1.8 с использованием Stream api:

//After removing squire bracket
String volt = "1.2, 3.1, 5.3, 4.5";
List<Float> list = Pattern.compile(", ")
                   .splitAsStream(volt)
                   .map (elem -> Float.parseFloat(elem))
                   .collect(Collectors.toList());
1 голос
/ 04 мая 2019

Сначала вы разбиваете строку на массив:

String str = "1.2, 3.1, 5.3, 4.5"; 
String[] arrOfStr = str.split(","); 

Затем вы перебираете массив и конвертируете в числа с плавающей точкой:

import java.util.ArrayList;
ArrayList <Double> volts = new ArrayList<Double>();
for (int i = 0; i < arrOfStr.length; i++) { 
    volts.add(Double.parseDouble(arrOfStr[i]));
}
System.out.println(volts);
0 голосов
/ 04 мая 2019

Предполагается, что вольт - это запятая строка.

  String volt = "1.2,3.1,5.3";

  String[] voltsToStrArray = volt.split(",");

  ArrayList<Float> voltsToFloatArray = new ArrayList<>();

  for(String strValue : voltsToStrArray) {
      voltsToFloatArray.add(Float.valueOf(strValue));
  }
...