在本指南中,我们将看到如何在 Java 中将String
转换为Double
。将String
转换为double
有三种方法。
- 使用
Double.parseDouble(String)
方法将String
转换为Double
- 使用
Double.valueOf(String)
将String
转换为Double
- 使用
Double
类的构造函数转换为Double
– 自 Java 版本 9 以来,不推荐使用构造函数Double(String)
使用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 dnum
System.out.println(dnum);
}
}
输出:
使用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 dnum
System.out.println(dnum);
}
}
输出:
使用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