Изначально у меня может быть значение типа 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);