最初,我可能有一个double,float或类似的类型值。 我正在使用DecimalFormat将此值格式化为“ ##,###。000”。 格式化后的值,现在是一个String,我想返回到它的原始类型的原始值。
当前,我正在通过用空字符替换逗号来解决解析问题。 doubleToString.replace(",", "")
但是,稍后我可能会更改formatPattern并用点代替而不是逗号“ ##。###。00”,或者也许指定其他格式。
我的问题是,正如标题所述,有没有办法将此值解析回原始值(初始类型和值),或者我必须通过替换等方式手动处理它?</ p>
我的代码示例:
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);