โปรแกรมเมอร์มักต้องเผชิญกับงานซึ่งวิธีแก้ปัญหาไม่ชัดเจนเสมอไป งานหนึ่งคือการแยกวิเคราะห์สตริง ใช้เมื่ออ่านข้อมูลจากคอนโซล ไฟล์ และแหล่งอื่นๆ ข้อมูลส่วนใหญ่ที่ส่งผ่านอินเทอร์เน็ตก็อยู่ในรูปแบบแถวเช่นกัน น่าเสียดายที่เป็นไปไม่ได้ที่จะดำเนินการทางคณิตศาสตร์ด้วยสตริง ดังนั้นโปรแกรมเมอร์ทุกคนจำเป็นต้องทราบวิธีการแปลงสตริงเป็นตัวเลขใน Java อย่างชัดเจน สตริงสามารถมีประเภทตัวเลขที่แตกต่างกัน:
- ไบต์;
- สั้น;
- อินท์;
- ยาว;
- ลอย;
- สองเท่า.
byte a = Byte.parseByte("42");
short b = Short.parseShort("42");
int c = Integer.parseInt("42");
long d = Long.parseLong("42");
float e = Float.parseFloat("42.0");
double f = Double.parseDouble("42.0");
ไม่มีความลับที่ประเภทข้อมูลที่ได้รับความนิยมมากที่สุดคือint
ดังนั้นในแง่ของความถี่ในการใช้งาน วิธีการparseInt
ใน Java หายใจเข้าทางด้านหลังของวิธีการส่งออกข้อมูลไปยังSystem.out.println()
คอนโซล แต่เมื่อใช้วิธีการนี้Integer.parseInt()
คุณต้องจำความแตกต่างบางประการ:
-
หากคุณส่งสตริงที่ไม่ใช่ค่าจำนวนเต็มไปยังวิธีการ คุณจะได้รับข้อผิดพลาด
java.lang.NumberFormatException
ที่ระบุว่าสตริงผลลัพธ์ไม่ใช่ค่าจำนวนเต็ม -
NumberFormatException
จะเกิดขึ้นหากสตริงที่ส่งผ่านมีช่องว่าง -
parseInt()
- สามารถทำงานกับจำนวนลบได้ ในการดำเนินการนี้ บรรทัดจะต้องขึ้นต้นด้วยอักขระ “-” -
parseInt()
— ไม่สามารถแยกวิเคราะห์สตริงได้หากค่าตัวเลขอยู่นอกขีดจำกัดประเภทint
(-2147483648 .. 2147483647)
GO TO FULL VERSION