У меня есть следующий код, который разбивает строку чисел (разделенных пробелом), а затем создает массив с плавающей запятой:
//Split the string and then build a float array with the values.
String[] tabOfFloatString = value.split(" ");
int length = tabOfFloatString.length;
System.out.println("Length of float string is" + length);
float[] floatsArray = new float[length];
for (int l=0; l<length; l++) {
float res = Float.parseFloat(tabOfFloatString[l]);
System.out.println("Float is " + res);
floatsArray[l]=res;
}
Проблема в том, что некоторые значения в строке отформатированы в экспоненциальном формате — например, они читаются как -3.04567E-8.
То, что я хочу сделать, это получить поплавок, который не содержит числа E.
Я читал эту ветку, в которой говорится, что я мог бы использовать BigDecimal, однако не могу заставить это работать - это лучший подход или мне стоит попробовать что-то еще? Как преобразовать строку 3.0103 E-7 в 0.00000030103 в Java?