تبدیل String به Int در جاوا
سلام دوستان در این سری از آموزش برنامه نویسی جاوا به آموزش تبدیل String به Int در جاوا می پردازیم در این آموزش رشته یا String را به عدد حقیقی یا Int تبدیل می کنیم از این آموزش می توان زمانی استفاده کرد که بخواهیم یک عدد که به صورت رشته (String) است را به صورت عددی با آن رفتار کنیم می توانید از آموزش تبدیل String به Int در جاوا استفاده کنید با ما همراه باشید.
در جاوا برای تبدیل String به Int می توان از متد (Method) به زیر استفاده کرد.
1 | Integer.parseInt() |
شکل ظاهری یا ورودی خروجی متد parseInt همانند زیر خواهد بود.
1 | public static int parseInt(String s) throws NumberFormatException |
در بالا خروجی متد یک عدد حقیقی یا Int است و ورودی آن نیز یک رشته است (اما نکته این ورودی باید حتما به صورت عدد باشد نباید کارکتر در آن وجود داشته باشید در صورتی که رشته در آن باشد خطای NumberFormatException را throw یا پرت می کند )
به مثال اول که در زیر به آن می پردازیم توجه کنید.
1 2 3 4 5 6 7 8 9 10 | /* java string to int */ public class StringToInt { public static void main(String[] args) { String number = "1000"; int value = Integer.parseInt(number); System.out.println(value); } } |
خروجی کد بالا همانند زیر خواهد بود.
1 2 | Output: 1000 |
زمانی که یک رشته شامل کارکتر و عدد داشته باشیم همانطور که در بالا گفته شد خطای NumberFormatException رخ خواهد داد در ادامه یک مثال از این نوع خطا را برای شما قرار می دهیم.
1 2 3 4 5 6 7 8 9 10 | /* java string to int */ public class StringToInt { public static void main(String[] args) { String number = "1000abcdef"; int value = Integer.parseInt(number); System.out.println(value); } } |
خروجی کد بالا
1 2 3 4 5 6 7 8 9 10 | Exception in thread "main" java.lang.NumberFormatException: For input string: "1000abcdef" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.parseInt(Integer.java:615) at app.main(app.java:10) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) |
و در نهایت یکسری مثال دیگر برای شما قرار میدهیم.
1 2 3 4 5 6 7 8 9 10 11 12 | parseInt("0", 10) returns 0 parseInt("473", 10) returns 473 parseInt("+42", 10) returns 42 parseInt("-0", 10) returns 0 parseInt("-FF", 16) returns -255 parseInt("1100110", 2) returns 102 parseInt("2147483647", 10) returns 2147483647 parseInt("-2147483648", 10) returns -2147483648 parseInt("2147483648", 10) throws a NumberFormatException parseInt("99", 8) throws a NumberFormatException parseInt("Kona", 10) throws a NumberFormatException parseInt("Kona", 27) returns 411787 |
در جاوا متد زیر نیز همانند متد قبلی کار خواهد کرد.
1 | Integer.valueOf() |
در ادامه یک مثال از valueOf مربوط به Integer قرار می دهیم.
1 2 3 4 5 6 7 8 9 10 | /* java string to int */ public class StringToInt { public static void main(String[] args) { String number = "1000"; Integer value = Integer.valueOf(number); System.out.println(value); } } |
خروجی مربوط به کد بالا نیز همانند زیر خواهد بود.
1 2 | Output: 1000 |
این آموزش هم به پایان رسید.
موفق و پیروز باشید.
سلام
ممنونم از توضیحاتتون. من تازه دارم جاوا یاد میگیرم و یک سوال دارم:
من یکسری گزینه دارم که String هستند.به این شکل:
[1] Show ToDo list
[2] Add Input
[3] End the Programm
…
و خب قراره ورودی برای انتخاب کردن این گزینه ها عدد باشه و یکی از این گزینه ها انتخاب بشه و متناسب با گزینه انتخاب شده مراحل بعدی اتفاق بیفته.
اینجا هم میتونم از parseInt استفاده کنم؟که مثلا ورودی من اگه عدد ۱ بود برنامه بدونه منظورم Show ToDo list بوده؟