将指数字符串值转换为double - Java

时间:2015-03-20 12:44:24

标签: java type-conversion double exponential

我是一个指数字符串值

String str = "2.00000181334612E15";

我试图将其转换为双倍值。

Double d = (Double.parseDouble(str));

但是我得到的例外情况如下,

Exception in thread "main" java.lang.NullPointerException
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1047)
    at java.lang.Double.parseDouble(Double.java:521)
    at com.swissre.lhrte.poi.test.TestClient.main(Test.java:133)

我做错了什么?

1 个答案:

答案 0 :(得分:2)

您的代码没有问题。要查看此内容,请考虑以下代码段:

public class exp {
  public static void main(String[] args) {
    String str = "2.00000181334612E15";
    Double d = (Double.parseDouble(str));
    System.out.println(d);
  }
};

如果从Double.parseDouble获取NullPointerException,则表示您为其提供了null参数。你的答案中的代码行不会给它一个空参数。所以我想在你的完整代码中你必须给Double.parseDouble一个null参数而你却没有意识到它。

根据Double.parseDouble()文档,它调用Double.valueOf(),Double.valueOf()的文档指定你可以给它指数值。

相关问题