การแปลงสตริงเป็นทศนิยมเป็นงานทั่วไปในการเขียนโปรแกรม Java โดยเฉพาะอย่างยิ่งเมื่อต้องจัดการกับอินพุตของผู้ใช้หรือข้อมูลจากแหล่งภายนอกที่ต้องประมวลผลและแปลงเป็นค่าตัวเลขสำหรับการคำนวณและการเปรียบเทียบ ในบทความนี้ เราจะสำรวจวิธีการและแนวทางต่างๆ ในการแปลงสตริงเป็นโฟลต หารือเกี่ยวกับข้อดีและข้อผิดพลาดที่อาจเกิดขึ้น และให้คำอธิบายทีละขั้นตอนของโค้ดที่เกี่ยวข้องกับกระบวนการ นอกจากนี้ เราจะเจาะลึกเข้าไปในไลบรารี Java และฟังก์ชันที่เกี่ยวข้องกับปัญหานี้ โดยแสดงความเกี่ยวข้องและการนำไปใช้กับสถานการณ์การเขียนโปรแกรมในโลกแห่งความเป็นจริง
วิธีการ Float.parseFloat() ของ Java
วิธีที่ง่ายที่สุดและใช้กันอย่างแพร่หลายในการแปลงสตริงเป็นทศนิยมใน Java คือการใช้ ลอย. วิธี. วิธีการแบบคงที่นี้เป็นส่วนหนึ่งของ ลอย คลาส wrapper และรับอาร์กิวเมนต์เดียวที่มีการแสดงสตริงของตัวเลขทศนิยม เมธอดจะคืนค่าดั้งเดิม ลอย ค่าที่แสดงถึงค่าตัวเลขของสตริงอินพุต
String str = "3.14"; float floatNum = Float.parseFloat(str); System.out.println("Converted float: " + floatNum);
ในตัวอย่างด้านบน ขั้นแรก เราสร้างสตริง Str ที่แสดงถึงเลขทศนิยม “3.14” ต่อไปเราเรียกว่า ลอย. วิธีการที่มีสตริงนี้เป็นอาร์กิวเมนต์ เมธอดนี้ประมวลผลสตริงอินพุตและส่งกลับค่าทศนิยมดั้งเดิมซึ่งเราเก็บไว้ในตัวแปร หมายเลขลอย. สุดท้าย เราพิมพ์ทุ่นผลลัพธ์ไปยังคอนโซล
การจัดการ NumberFormatException
สิ่งสำคัญคือต้องพิจารณาถึงความเป็นไปได้ที่จะพบ NumberFormatException เมื่อแปลงสตริงเป็นทศนิยมโดยใช้ไฟล์ ลอย. วิธี. หากสตริงอินพุตประกอบด้วยอักขระที่ไม่ใช่ตัวเลขหรือมีรูปแบบไม่ถูกต้อง เมธอดจะข้ามข้อยกเว้นนี้ไป ทำให้โปรแกรมหยุดทำงานหากไม่ได้รับการจัดการอย่างเหมาะสม
เพื่อหลีกเลี่ยงปัญหาดังกล่าว ขอแนะนำให้ใช้บล็อก try-catch เพื่อจัดการกับข้อยกเว้นที่อาจเกิดขึ้น:
String str = "3.14a"; float floatNum = 0; try { floatNum = Float.parseFloat(str); } catch (NumberFormatException e) { System.out.println("Invalid format: " + e.getMessage()); } System.out.println("Converted float: " + floatNum);
ในตัวอย่างนี้ เรามีสตริงอินพุต Str ด้วยรูปแบบที่ไม่ถูกต้องเนื่องจากการรวมอักขระที่ไม่ใช่ตัวเลข เมื่อโทร ลอย. วิธีการภายในบล็อกลองเราสามารถจัดการได้อย่างปลอดภัย NumberFormatException โดยไม่ทำให้โปรแกรมพัง บล็อก catch จะทำงานหากมีข้อยกเว้นเกิดขึ้น แจ้งเตือนผู้ใช้ถึงอินพุตที่ไม่ถูกต้องและอนุญาตให้โปรแกรมดำเนินการต่อ
DecimalFormat Class และ Parse() วิธีการของ Java
อีกวิธีในการแปลงสตริงเป็นทศนิยมใน Java เกี่ยวข้องกับการใช้ รูปแบบทศนิยม คลาสซึ่งเป็นของ java.ข้อความ บรรจุุภัณฑ์. คลาสนี้ช่วยให้สามารถควบคุมการจัดรูปแบบและการแยกวิเคราะห์ตัวเลขทศนิยมได้แม่นยำยิ่งขึ้น รวมถึงรองรับรูปแบบตัวเลขเฉพาะโลแคล
รางวัล รูปแบบทศนิยม คลาสให้ก แยกวิเคราะห์ () วิธีการที่ใช้สตริงเป็นอาร์กิวเมนต์และส่งกลับ จำนวน วัตถุ. วัตถุนี้สามารถแปลงเป็นค่าทศนิยมดั้งเดิมได้:
import java.text.DecimalFormat; import java.text.ParseException; String str = "3,14"; DecimalFormat decimalFormat = new DecimalFormat(); Number number; float floatNum = 0; try { number = decimalFormat.parse(str); floatNum = number.floatValue(); } catch (ParseException e) { System.out.println("Invalid format: " + e.getMessage()); } System.out.println("Converted float: " + floatNum);
ในตัวอย่างนี้ ก่อนอื่นเรานำเข้าคลาสที่จำเป็นจาก java.ข้อความ บรรจุุภัณฑ์. จากนั้นเราก็สร้าง รูปแบบทศนิยม วัตถุ ซึ่งจะช่วยให้เราสามารถแยกวิเคราะห์สตริงอินพุต Strซึ่งมีตัวคั่นทศนิยมเฉพาะโลแคล เดอะ แยกวิเคราะห์ () เมธอดถูกเรียกภายในบล็อกลอง โดยเก็บผลลัพธ์ไว้ใน a จำนวน วัตถุ. สุดท้าย เราจะแปลงตัวเลขนี้เป็นเลขทศนิยมดั้งเดิมโดยใช้ ค่าลอยตัว() วิธีการและพิมพ์ผลลัพธ์ไปยังคอนโซล
โดยสรุป การแปลงสตริงเป็นทศนิยมเป็นงานพื้นฐานในการเขียนโปรแกรม Java และจำเป็นอย่างยิ่งที่จะต้องเข้าใจเมธอด ไลบรารี และฟังก์ชันต่างๆ ที่เกี่ยวข้องกับกระบวนการแปลงนี้ โดยการสำรวจ ลอย. วิธีการ, การจัดการ NumberFormatExceptionและใช้ประโยชน์จากพลังของ รูปแบบทศนิยม คลาสนักพัฒนาสามารถแปลงสตริงเป็นค่าตัวเลขได้อย่างน่าเชื่อถือและสร้างแอปพลิเคชัน Java ที่แข็งแกร่งและหลากหลาย