介绍
Java 的 parseDouble()
方法用于将字符串值转换为其等效的 double 值。在数据类型转换中,这是一个重要的方法。在本实验中,我们将学习如何使用 parseDouble()
方法,以及它如何将字符串值转换为其等效的 double 值。
Java 的 parseDouble()
方法用于将字符串值转换为其等效的 double 值。在数据类型转换中,这是一个重要的方法。在本实验中,我们将学习如何使用 parseDouble()
方法,以及它如何将字符串值转换为其等效的 double 值。
parseDouble()
方法的语法在你的 Java 程序中实现以下 parseDouble()
方法的语法:
public static double parseDouble(String s) throws NumberFormatException
parseDouble()
方法将字符串值转换为 double 值在这一步中,我们将使用 parseDouble()
方法将字符串值转换为其等效的 double 值。
代码块:
String str = "8.97";
double num = Double.parseDouble(str);
System.out.println("Double value of "+str+" is "+num);
这将输出:
Double value of 8.97 is 8.97
在上面的代码块中,我们创建了一个字符串变量 str
并将其初始化为值 "8.97"
。然后,我们调用了 parseDouble()
方法,将字符串变量作为参数传递,并将返回的 double 值赋给 double 变量 num
。最后,我们打印了 double 变量。
在这一步中,我们将捕获 NumberFormatException 以避免意外问题。
代码块:
try {
String str = "not a number"; // exception occurs here
double num = Double.parseDouble(str);
System.out.println("Double value of "+str+" is "+num);
} catch(NumberFormatException e) {
System.out.println("Error: "+e.getMessage()+" is not a valid double");
}
这将输出:
Error: For input string: "not a number" is not a valid double
在上面的代码块中,Double.parseDouble()
方法被调用时传入了一个字符串 "not a number"
,这不是一个有效的 double 值。由于 parseDouble()
方法会抛出 NumberFormatException,我们使用了 try-catch 块来捕获程序中可能发生的异常。
在这一步中,我们将使用 Scanner
类接受用户输入,并使用 parseDouble()
方法将其解析为 double 值。
代码块:
Scanner input = new Scanner(System.in);
System.out.print("Enter a number: ");
String str = input.next();
double num = Double.parseDouble(str);
System.out.println("Double value of "+str+" is "+num);
这将输出:
Enter a number: 9.56
Double value of 9.56 is 9.56
在上面的代码块中,我们创建了一个 Scanner
类的实例来接受用户输入。我们使用 next()
方法将用户输入读取为字符串值,然后将其传递给 parseDouble()
方法,并将返回的值赋给 double 变量 num
。最后,我们打印了 double 变量。
在这一步中,我们将处理传递给 parseDouble()
方法的 null 值。
代码块:
String str = null;
try {
double num = Double.parseDouble(str); // exception occurs here
System.out.println(num);
} catch (NullPointerException e) {
System.out.println("Error: "+e.getMessage()+" - It's not possible to convert null to double value");
}
这将输出:
Error: null - It's not possible to convert null to double value
在上面的代码块中,我们将 null 值赋给了字符串变量 str
。然后,我们调用了 parseDouble()
方法并将 null 值作为参数传递,这会抛出 NullPointerException。我们使用 try-catch 块捕获了 NullPointerException 并打印了一条自定义消息。
此时,我们的代码应如下所示:
import java.util.Scanner;
public class JavaDoubleParseDoubleMethod {
public static void main(String[] args) {
// Example 1
String str = "8.97";
double num = Double.parseDouble(str);
System.out.println("Double value of "+str+" is "+num);
// Example 2
try {
String str2 = "not a number";
double num2 = Double.parseDouble(str2);
System.out.println("Double value of "+str2+" is "+num2);
} catch(NumberFormatException e) {
System.out.println("Error: "+e.getMessage()+" is not a valid double");
}
// Example 3
Scanner input = new Scanner(System.in);
System.out.print("Enter a number: ");
String str3 = input.next();
double num3 = Double.parseDouble(str3);
System.out.println("Double value of "+str3+" is "+num3);
// Example 4
String str4 = null;
try {
double num4 = Double.parseDouble(str4);
System.out.println(num4);
} catch (NullPointerException e) {
System.out.println("Error: "+e.getMessage()+" - It's not possible to convert null to double value");
}
}
}
要编译并运行 Java 程序,请执行以下命令:
cd ~/project
javac JavaDoubleParseDoubleMethod.java
java JavaDoubleParseDoubleMethod
这将执行 Java 程序并输出以下内容:
Double value of 8.97 is 8.97
Error: For input string: "not a number" is not a valid double
Enter a number: 9.56
Double value of 9.56 is 9.56
Error: null - It's not possible to convert null to double value
在本实验中,我们学习了如何使用 parseDouble()
方法将字符串值转换为等效的 double 值。我们还学习了如何处理异常以及在该方法中处理 null 值。在 Java 中处理字符串值和数值计算时,此方法非常有用。