Форматирование строки для удаления научной нотации — Java

У меня есть следующий код, который разбивает строку чисел (разделенных пробелом), а затем создает массив чисел с плавающей запятой:

//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

Проблема в том, что некоторые значения в строке отформатированы. с научным обозначением - например, они читаются как -3.04567E-8.

Я хочу получить число с плавающей запятой, не содержащее число E.

Я читал эту ветку, в которой говорится, что я могу использовать BigDecimal, однако не могу заставить это работать - это лучший подход или мне следует попробовать что-то еще? Как преобразовать строку 3.0103E-7 в 0.00000030103 в Java?

7
задан Community 23 May 2017 в 12:14
поделиться