способ преобразования десятичного форматированного значения в исходное значение - PullRequest
0 голосов
/ 17 февраля 2019

Изначально у меня может быть значение типа double, float или подобное.Я использую DecimalFormat для форматирования этих значений как "##, ###. 000".Это отформатированное значение, которое теперь является строкой, которую я хочу вернуть к исходному значению примитивного типа.

В настоящее время я решаю проблему синтаксического анализа, заменяя запятую пустым символом.doubleToString.replace(",", "")

Однако позже я могу изменить formatPattern и заменить его точкой вместо запятой "##. ###. 00" или, возможно, указать другой формат.

Мой вопросесть, как говорит заголовок, есть ли способ проанализировать это значение обратно к исходному значению (начальный тип и значение), или я должен вручную обработать это, заменив и т. д .?

Мой пример кода:

double initialValue = 12345;
System.out.println("Initial value: " + initialValue);

final DecimalFormat decimalFormat = new DecimalFormat("##,###.000");

// double to string
final String doubleToString = decimalFormat.format(initialValue);
System.out.println("Double to String: " + doubleToString);

// string to double
final double stringToDouble = Double.parseDouble(doubleToString.replace(",", ""));
System.out.println("String to Double: " + stringToDouble);
...