如何在Java中检查字符串是否可以解析为double类型?
使用 parseDouble() 方法
**parseDouble()** 方法是 **java.lang.Double** 类的方法,它接受一个字符串值,对其进行解析,并返回该字符串的双精度数值。
如果传递空值给此方法,它会抛出 NullPointerException 异常;如果此方法无法将给定的字符串解析为双精度数值,它会抛出 NumberFormatException 异常。
因此,要了解某个特定字符串是否可以解析为 double 类型,可以将其传递给 parseDouble 方法,并将此行代码用 try-catch 块包裹。如果发生异常,则表示给定的字符串无法解析为 double 类型。
示例
import java.util.Scanner;
public class ParsableToDouble {
public static void main(String args[]) {
try {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a string value: ");
String str = sc.next();
Double doub = Double.parseDouble(str);
System.out.println("Value of the variable: "+doub);
}catch (NumberFormatException ex) {
System.out.println("Given String is not parsable to double");
}
}
}输出
Enter a string value: 2245g Given String is not parsable to double
使用 valueOf() 方法
类似地,Double 类的 **valueOf()** 方法(也)接受一个字符串值作为参数,修剪多余的空格并返回字符串表示的双精度数值。如果给定的值无法解析为 double 类型,此方法会抛出 NumberFormatException 异常。
示例
import java.util.Scanner;
public class ParsableToDouble {
public static void main(String args[]) {
try {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a string value: ");
String str = sc.next();
Double doub = Double.valueOf(str);
System.out.println("Value of the variable: "+doub);
}catch (NumberFormatException ex) {
System.out.println("Given String is not parsable to double");
}
}
}输出
Enter a string value: 2245g Given String is not parsable to double
使用 Double 类的构造函数
Double 类的一个构造函数接受一个字符串作为参数,并构造一个(Double)对象,该对象封装了给定的值。如果传递给此构造函数的字符串无法解析为 Double 类型,则会抛出 NumberFormatException 异常。
示例
import java.util.Scanner;
public class ParsableToDouble {
public static void main(String args[]) {
try {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a string value: ");
String str = sc.next();
Double doub = new Double(str);
System.out.println("Value of the variable: "+doub);
}catch (NumberFormatException ex) {
System.out.println("Given String is not parsable to double");
}
}
}输出
Enter a string value: 2245g Given String is not parsable to double
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP