将十进制格式的值转换为原始值的方法

时间:2019-02-17 14:20:29

标签: java decimalformat

最初,我可能有一个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);

0 个答案:

没有答案