原文: https://beginnersbook.com/2013/12/how-to-convert-string-to-double-in-java/

在本指南中,我们将看到如何在 Java 中将String转换为Double。将String转换为double有三种方法。

  1. 使用Double.parseDouble(String)方法将String转换为Double
  2. 使用Double.valueOf(String)String转换为Double
  3. 使用Double类的构造函数转换为Double - 自 Java 版本 9 以来,不推荐使用构造函数Double(String)

1. 使用Double.parseDouble(String)转换为Double

  1. public static double parseDouble(String str) throws NumberFormatException

此方法返回传递的String参数的双精度表示。如果指定的String str为空,则此方法抛出NullPointerException,如果字符串格式无效,则抛出NumberFormatException。例如,如果字符串是"122.20ab",则此方法将抛出NumberFormatException

  1. String str="122.202";
  2. double dnum = Double.parseDouble(str);

转换后,double类型的变量dnum的值为 122.202。

让我们看一下使用parseDouble(String)方法进行转换的完整示例。

示例 1:使用parseDouble(String)String转换为double

  1. public class JavaExample{
  2. public static void main(String args[]){
  3. String str = "122.202";
  4. /* Convert String to double using
  5. * parseDouble(String) method of Double
  6. * wrapper class
  7. */
  8. double dnum = Double.parseDouble(str);
  9. //displaying the value of variable dnum
  10. System.out.println(dnum);
  11. }
  12. }

输出:

Java 程序:`String`到`double`的转换 - 图1

2. 使用Double.valueOf(String)转换为Double

Java 中Double包装类的valueOf()方法与我们在上面 java 示例中看到的parseDouble()方法类似。

  1. String str = "122.111";
  2. double dnum = Double.valueOf(str);

转换后dnum的值为 122.111

让我们看看使用Double.valueOf(String)方法的完整转换示例。

示例 2:使用valueOf(String)String转换为double

  1. public class JavaExample{
  2. public static void main(String args[]){
  3. String str = "122.111";
  4. /* Convert String to double using
  5. * valueOf(String) method of Double
  6. * wrapper class
  7. */
  8. double dnum = Double.valueOf(str);
  9. //displaying the value of variable dnum
  10. System.out.println(dnum);
  11. }
  12. }

输出:

Java 程序:`String`到`double`的转换 - 图2

3. 使用Double类的构造函数将String转换为double

注意:自 Java 版本 9 以来,不推荐使用构造函数Double(String)

  1. String str3 = "999.333";
  2. double var3 = new Double(str3);

Double类有一个构造函数,它解析我们在构造函数中传递的String参数,并返回一个等效的double值。

  1. public Double(String s) throws NumberFormatException

使用这个构造函数,我们可以通过传递我们想要转换的String来创建Double类的新对象。

示例 3:使用Double类的构造函数将String转换为double

在这个例子中,我们创建了一个Double类的对象,将String值转换为double值。

  1. public class Example{
  2. public static void main(String args[]){
  3. String str3 ="999.333";
  4. double var3 = new Double(str3);
  5. System.out.println(var3);
  6. }
  7. }

输出:

  1. 999.333

参考文献: