【发布时间】:2017-08-04 09:34:42
【问题描述】:
我有几个字符串需要使用 NumberFormat 作为 Double 来获取。 字符串可以有多种格式,如下所示:
"0" // case 1
"0.00003" // case 2
"5e-76" // case 3
"2E-10" // case 4
我使用以下代码来获取双精度值:
NumberFormat numberFormat = NumberFormat.getInstance(Locale.US);
String val = "2e-7";
try {
Number number = numberFormat.parse(val);
System.out.println("number: " + number.doubleValue());
} catch (ParseException ex) {
System.out.println("error: " + ex);
}
除了案例 3 之外,这工作正常(运行上面的代码将打印“数字:2.0”)
要求:
我知道Double.valueOf(val) 在这里可以正常工作,但我正在寻找仅使用 NumberFormat 的解决方案。
有可能实现吗?
【问题讨论】:
标签: java double number-formatting