原文: https://beginnersbook.com/2013/12/how-to-convert-string-to-double-in-java/
在本指南中,我们将看到如何在 Java 中将String转换为Double。将String转换为double有三种方法。
- 使用
Double.parseDouble(String)方法将String转换为Double - 使用
Double.valueOf(String)将String转换为Double - 使用
Double类的构造函数转换为Double- 自 Java 版本 9 以来,不推荐使用构造函数Double(String)
1. 使用Double.parseDouble(String)转换为Double
public static double parseDouble(String str) throws NumberFormatException
此方法返回传递的String参数的双精度表示。如果指定的String str为空,则此方法抛出NullPointerException,如果字符串格式无效,则抛出NumberFormatException。例如,如果字符串是"122.20ab",则此方法将抛出NumberFormatException。
String str="122.202";double dnum = Double.parseDouble(str);
转换后,double类型的变量dnum的值为 122.202。
让我们看一下使用parseDouble(String)方法进行转换的完整示例。
示例 1:使用parseDouble(String)将String转换为double
public class JavaExample{public static void main(String args[]){String str = "122.202";/* Convert String to double using* parseDouble(String) method of Double* wrapper class*/double dnum = Double.parseDouble(str);//displaying the value of variable dnumSystem.out.println(dnum);}}
输出:

2. 使用Double.valueOf(String)转换为Double
Java 中Double包装类的valueOf()方法与我们在上面 java 示例中看到的parseDouble()方法类似。
String str = "122.111";double dnum = Double.valueOf(str);
转换后dnum的值为 122.111
让我们看看使用Double.valueOf(String)方法的完整转换示例。
示例 2:使用valueOf(String)将String转换为double
public class JavaExample{public static void main(String args[]){String str = "122.111";/* Convert String to double using* valueOf(String) method of Double* wrapper class*/double dnum = Double.valueOf(str);//displaying the value of variable dnumSystem.out.println(dnum);}}
输出:

3. 使用Double类的构造函数将String转换为double
注意:自 Java 版本 9 以来,不推荐使用构造函数Double(String)
String str3 = "999.333";double var3 = new Double(str3);
Double类有一个构造函数,它解析我们在构造函数中传递的String参数,并返回一个等效的double值。
public Double(String s) throws NumberFormatException
使用这个构造函数,我们可以通过传递我们想要转换的String来创建Double类的新对象。
示例 3:使用Double类的构造函数将String转换为double
在这个例子中,我们创建了一个Double类的对象,将String值转换为double值。
public class Example{public static void main(String args[]){String str3 ="999.333";double var3 = new Double(str3);System.out.println(var3);}}
输出:
999.333
