การใช้เมธอด 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