โปรแกรมเมอร์มักต้องเผชิญกับงานซึ่งวิธีแก้ปัญหาไม่ชัดเจนเสมอไป งานหนึ่งคือการแยกวิเคราะห์สตริง ใช้เมื่ออ่านข้อมูลจากคอนโซล ไฟล์ และแหล่งอื่นๆ ข้อมูลส่วนใหญ่ที่ส่งผ่านอินเทอร์เน็ตก็อยู่ในรูปแบบแถวเช่นกัน น่าเสียดายที่เป็นไปไม่ได้ที่จะดำเนินการทางคณิตศาสตร์ด้วยสตริง ดังนั้นโปรแกรมเมอร์ทุกคนจำเป็นต้องทราบวิธีการแปลงสตริงเป็นตัวเลขใน 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