📜  Java string转double(1)

📅  最后修改于: 2023-12-03 14:42:16.498000             🧑  作者: Mango

Java string转double

在Java程序中,将字符串转换成double类型是非常常见的需求。本文将介绍Java中如何实现字符串到double的转换。

1. 使用Double.parseDouble()方法

Java中提供了Double.parseDouble()方法,可以将字符串转换为double类型。该方法接收一个字符串参数,并返回对应的double值。示例代码如下:

String str = "3.14159";
double num = Double.parseDouble(str);
System.out.println(num); // 输出3.14159

需要注意的是,如果字符串不能转换为double类型,例如字符串为"abc",那么该方法会抛出NumberFormatException异常。

2. 使用Double.valueOf()方法

除了使用Double.parseDouble()方法外,我们还可以使用Double.valueOf()方法将字符串转换为Double对象,然后再调用Double对象的doubleValue()方法获取double值。示例代码如下:

String str = "3.14159";
Double numObj = Double.valueOf(str);
double num = numObj.doubleValue();
System.out.println(num); // 输出3.14159

需要注意的是,如果字符串不能转换为double类型,例如字符串为"abc",那么该方法会抛出NumberFormatException异常。

3. 使用DecimalFormat类

DecimalFormat类可以将字符串格式化成double类型的值。我们可以通过实例化DecimalFormat类,然后调用其parse()方法来实现字符串到double的转换。示例代码如下:

String str = "3.14159";
DecimalFormat df = new DecimalFormat();
double num = 0.0;
try {
    num = df.parse(str).doubleValue();
} catch (ParseException e) {
    e.printStackTrace();
}
System.out.println(num); // 输出3.14159

需要注意的是,如果字符串不能转换为double类型,例如字符串为"abc",那么该方法会抛出ParseException异常。

4. 使用Scanner类

Scanner类可以从字符串中读取数据。我们可以使用Scanner的nextDouble()方法获取字符串中的double值。示例代码如下:

String str = "3.14159";
Scanner scanner = new Scanner(str);
double num = scanner.nextDouble();
System.out.println(num); // 输出3.14159
scanner.close();

需要注意的是,如果字符串不能转换为double类型,例如字符串为"abc",那么该方法会抛出InputMismatchException异常。

总结

本文介绍了Java中四种将字符串转换为double类型的方法,分别是Double.parseDouble()方法、Double.valueOf()方法、DecimalFormat类和Scanner类。在使用这些方法时,需要注意字符串格式的正确性。