Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะตรวจสอบได้อย่างไรว่าสตริงสามารถแยกวิเคราะห์เป็นสองเท่าใน java ได้?


การใช้เมธอด parseDouble()

parseDouble() วิธีการของ java.lang.Double class ยอมรับค่าสตริง แยกวิเคราะห์ และส่งกลับค่าสองเท่าของสตริงที่กำหนด

หากคุณส่งค่า Null ไปยังวิธีนี้ มันจะส่ง NullPointerException และหากวิธีนี้ไม่สามารถแยกวิเคราะห์สตริงที่กำหนดให้เป็นค่าสองเท่าของคุณได้ ก็จะส่ง NumberFormatException

ดังนั้น หากต้องการทราบว่าสตริงเฉพาะสามารถแยกวิเคราะห์เป็นสองเท่าได้หรือไม่ ให้ส่งผ่านไปยังเมธอด parseDouble และตัดบรรทัดนี้ด้วยบล็อก try-catch หากมีข้อยกเว้นเกิดขึ้น แสดงว่าสตริงที่ระบุไม่สามารถแยกวิเคราะห์เป็นสองเท่าได้

ตัวอย่าง

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()

ในทำนองเดียวกัน valueOf() เมธอดของคลาส Double (เช่นกัน) ยอมรับค่า String เป็นพารามิเตอร์ ตัดช่องว่างส่วนเกินและส่งกลับค่าสองเท่าที่แสดงโดยสตริง หากค่าที่ระบุไม่สามารถแยกวิเคราะห์เป็นสองเท่าของเมธอดนี้ได้ 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

การใช้ Constructor ของ Double class

หนึ่งในคอนสตรัคเตอร์ของคลาส Double ยอมรับ String เป็นพารามิเตอร์และสร้างอ็อบเจ็กต์ (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