JavaRush /وبلاگ جاوا /Random-FA /پرسش و پاسخ: چگونه در جاوا String را به درستی به int تبدی...

پرسش و پاسخ: چگونه در جاوا String را به درستی به int تبدیل کنیم؟

در گروه منتشر شد
سطح تقریبی دانش مورد نیاز: Java Syntax quest و کمی Java Core.
پرسش و پاسخ: چگونه در جاوا String را به درستی به int تبدیل کنیم؟  - 1
در پایان اولین کوئست JavaRush با تبدیل نوع آشنا می شویم. در سخنرانی های سطح 10 می بینید که تبدیل intبه Stringبسیار ساده است و به طور کلی تقریباً هر نوع اولیه را می توان Stringبدون مشکل به آن تبدیل کرد.
int x = 5;
String text = "X=" + x;
همچنین، کسانی که قبلاً سطح 10 جستجوی Java Syntax را تکمیل کرده‌اند، می‌دانند که تبدیل ارجاع به یک عدد به یک مرجع به یک رشته غیرممکن است. بنابراین بهترین راه برای تبدیل یک رشته به یک عدد صحیح اولیه چیست؟ بهتر است این کار را با استفاده از متد parseIntکلاس انجام دهید Integer. اگر رشته را نتوان به نوع تبدیل کرد، متد parseIntباید Stringبه intیک استثنا تبدیل کند و یک استثنا ایجاد کند . NumberFormatExceptionint

مثال

خط اصلی که یک رشته را به عدد صحیح تبدیل می کند:
int i = Integer.parseInt (myString);
اگر رشته ای که با متغیر مشخص می شود myStringیک عدد صحیح معتبر باشد، مانند "1"، "200"، جاوا بی سر و صدا آن را به یک نوع داده اولیه تبدیل می کند int. اگر به دلایلی این کار انجام نشد، چنین عملی ممکن است یک استثنا ایجاد کند NumberFormatException، بنابراین برای اینکه برنامه برای هر رشته به درستی کار کند، به کد کمی بیشتر نیاز داریم. برنامه ای که روش تبدیل Java Stringبه intکنترل ممکن را نشان می دهد NumberFormatException:
public class JavaStringToIntExample
{
  public static void main (String[] args)
  {
    // String s = "fred"; // use this if you need to test the //exception below
String s = "100";

    try
    {
      // this is where String is converted to int
      int i = Integer.parseInt(s.trim());

      // display the value after conversion
      System.out.println("int i = " + i);
    }
    catch (NumberFormatException nfe)
    {
      System.out.println("NumberFormatException: " + nfe.getMessage());
    }
  }

بحث

وقتی مثال بالا را مطالعه می کنید، می بینید که از این متد Integer.parseInt (s.trim ())برای تبدیل رشته sبه عدد صحیح استفاده می شود iو این در خط کد زیر اتفاق می افتد:
int i = Integer.parseInt (s.trim ())
اما گاهی اوقات تبدیل یک رشته به عدد کار نمی کند. در مثال ما، چنین رشته ای نام fred است. ما می توانیم در مورد کدهایی صحبت کنیم که در آنها حروف در رایانه نوشته می شوند، اما، به طور رسمی، fred یک عدد نیست و بهتر است آن را به عنوان یک رشته بگذارید. برنامه ما به گونه ای طراحی شده است که اگر سعی کنید "فرد" را به یک عدد تبدیل کنید، فرآیند Integer parseIntیک استثنا ایجاد می کند NumberFormatExceptionکه باید آن را در یک بلوک مدیریت کنید try / catch. در این حالت شما مجبور نیستید از متد trim ()کلاس استفاده کنید String، اما در برنامه نویسی واقعی باید از آن استفاده کنید. بنابراین ما آن را به شما نشان دادیم. از آنجایی که این موضوع مطرح شده است، در اینجا چند "نکات" در مورد موضوع کلاس ها وجود دارد Stringو Integer:
  • Integer.toString (int i)برای تبدیل intبه رشته های جاوا استفاده می شود.
  • اگر می خواهید یک شی را Stringبه یک شی تبدیل کنید Integer(به جای یک کلاس اولیه int)، از متد valueOf ()on-class Integerبه جای استفاده از parseInt ().
  • اگر نیاز به تبدیل رشته ها به فیلدهای اضافی جاوا اولیه دارید، از روش هایی مانند این استفاده کنید Long.parseLong ().
پاسخ داده شده توسط: آلیس واتسون
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION