JavaRush /Blog Java /Random-VI /Hỏi đáp: Làm thế nào để chuyển đổi String thành int trong...

Hỏi đáp: Làm thế nào để chuyển đổi String thành int trong Java một cách chính xác?

Xuất bản trong nhóm
Mức độ kiến ​​thức yêu cầu gần đúng: Tìm kiếm Cú pháp Java và một chút Java Core.
Hỏi đáp: Làm thế nào để chuyển đổi String thành int trong Java một cách chính xác?  - 1
Khi kết thúc nhiệm vụ JavaRush đầu tiên, chúng ta tìm hiểu về chuyển đổi loại. Trong bài giảng cấp 10, bạn có thể thấy rằng việc chuyển đổi intsang Stringrất đơn giản và nói chung, hầu hết mọi kiểu nguyên thủy đều có thể được chuyển đổi sang Stringmà không gặp vấn đề gì.
int x = 5;
String text = "X=" + x;
Ngoài ra, những người đã hoàn thành cấp độ 10 của nhiệm vụ Cú pháp Java đều biết rằng không thể chuyển đổi tham chiếu thành số thành tham chiếu thành chuỗi. Vậy cách tốt nhất để chuyển đổi một chuỗi thành số nguyên nguyên thủy là gì? Tốt hơn là làm điều này bằng cách sử dụng phương thức parseIntlớp Integer. Phương thức này parseIntphải chuyển đổi Stringintném ra một ngoại lệ NumberFormatExceptionnếu chuỗi không thể chuyển đổi thành kiểu int.

Ví dụ

Dòng cơ bản chuyển đổi một chuỗi thành một số nguyên:
int i = Integer.parseInt (myString);
Nếu chuỗi được biểu thị bằng biến myStringlà số nguyên hợp lệ, chẳng hạn như "1", "200", Java sẽ âm thầm chuyển đổi chuỗi đó thành kiểu dữ liệu nguyên thủy int. Nếu vì lý do nào đó điều này không thành công, một hành động như vậy có thể đưa ra một ngoại lệ NumberFormatException, vì vậy để chương trình hoạt động chính xác với bất kỳ chuỗi nào, chúng ta cần thêm một chút mã. Chương trình thể hiện phương pháp chuyển đổi Java Stringsang int, kiểm soát các khả năng 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());
    }
  }

Cuộc thảo luận

Khi nghiên cứu ví dụ trên, bạn sẽ thấy phương thức này Integer.parseInt (s.trim ())được sử dụng để biến một chuỗi sthành một số nguyên ivà điều này xảy ra trong dòng mã sau:
int i = Integer.parseInt (s.trim ())
Nhưng đôi khi việc chuyển đổi một chuỗi thành một số sẽ không hiệu quả. Trong ví dụ của chúng tôi, chuỗi như vậy có tên là fred. Chúng ta có thể nói về những mật mã trong đó các chữ cái được viết trên máy tính, nhưng nói một cách chính thức thì fred không phải là một con số và tốt hơn là nên để nó dưới dạng một chuỗi. Chương trình của chúng tôi được thiết kế sao cho nếu bạn cố gắng chuyển đổi "fred" thành một số, quy trình Integer parseIntsẽ đưa ra một ngoại lệ NumberFormatExceptionmà bạn phải xử lý trong một khối try / catch. Trong trường hợp này bạn không phải sử dụng phương thức trim ()lớp String, nhưng trong lập trình thực tế bạn nên sử dụng nó. Vì vậy, chúng tôi đã cho bạn thấy nó. Vì chủ đề này đã xuất hiện nên đây là một số “gợi ý” về chủ đề lớp học StringInteger:
  • Integer.toString (int i)được sử dụng để chuyển đổi intthành chuỗi Java.
  • Nếu bạn muốn chuyển đổi một đối tượng Stringthành một đối tượng Integer(chứ không phải một lớp nguyên thủy int), hãy sử dụng phương thức valueOf ()trên lớp Integerthay vì phương thức parseInt ().
  • Nếu bạn cần chuyển đổi chuỗi thành các trường Java nguyên thủy bổ sung, hãy sử dụng các phương thức như thế này Long.parseLong ().
Trả lời bởi: Alice Watson
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION