Java에서 문자열을 int로 변환하는 방법

Mohammad Irfan 2023년10월12일
  1. Java에서parseInt()를 사용하여Stringint로 변환
  2. Java에서Apache를 사용하여Stringint로 변환
  3. Java에서decode()를 사용하여Stringint로 변환
  4. Java에서valueOf()를 사용하여Stringint로 변환
  5. Java에서parseUnsignedInt()를 사용하여Stringint로 변환
  6. Java에서replaceAll()을 사용하여 숫자가 아닌 문자를 제거한 후String 변환
Java에서 문자열을 int로 변환하는 방법

이 튜토리얼에서는 Java에서Stringint로 변환하는 방법을 소개하고이를 이해하기위한 몇 가지 예제 코드를 나열합니다.

Java에서parseInt()를 사용하여Stringint로 변환

Stringint는 모두 Java의 데이터 유형입니다. String은 텍스트 정보를 저장하는 데 사용되며int는 숫자 데이터를 저장하는 데 사용됩니다.

여기서는 정수를 반환하는Integer 클래스의parseInt()메서드를 사용합니다. Java는 암시 적 자동 박싱을 수행하므로 int 기본 유형에 저장할 수 있습니다. 아래 예를 참조하십시오.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1234";
    int int_val = Integer.parseInt(str);
    System.out.println(int_val);
  }
}

출력:

1234

Java에서Apache를 사용하여Stringint로 변환

Apache 라이브러리로 작업하는 경우 int 값을 반환하는NumberUtils 클래스의toInt()메서드를 사용할 수 있습니다. 전달 된 문자열에 숫자가 아닌 문자가 포함 된 경우이 메서드는 예외를 throw하지 않지만 0을 반환합니다. NumberFormatException을 발생시키는parseInt()보다는toInt()를 사용하는 것이 안전합니다. 아래 예를 참조하십시오.

import org.apache.commons.lang3.math.NumberUtils;

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1234";
    int int_val = NumberUtils.toInt(str);
    System.out.println(int_val);
    str = "1234x"; // non-numeric string
    int_val = NumberUtils.toInt(str);
    System.out.println(int_val);
  }
}

출력:

1234
0

Java에서decode()를 사용하여Stringint로 변환

Integer 클래스의decode()메서드를 사용하여 문자열에서 int 값을 가져올 수 있습니다. Integer 값을 반환하지만int (primitive) 값을 얻으려면decode()메서드와 함께intValue()를 사용합니다. 아래 예를 참조하십시오.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1424";
    int int_val = Integer.decode(str);
    System.out.println(int_val);
    // int primitive
    int_val = Integer.decode(str).intValue();
    System.out.println(int_val);
  }
}

출력:

1424

Java에서valueOf()를 사용하여Stringint로 변환

변환 후 문자열의 int 값을 얻기 위해valueOf()메소드를 사용할 수 있습니다.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1424";
    int int_val = Integer.valueOf(str);
    System.out.println(int_val);
  }
}
1424 1424

Java에서parseUnsignedInt()를 사용하여Stringint로 변환

부호가없는 문자열을 변환하려면parseUnsignedInt()메서드를 사용하여 int 값을 가져옵니다. 서명되지 않은 문자열 값으로 잘 작동하며 값이 서명되면 예외가 발생합니다.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1424";
    int int_val = Integer.parseUnsignedInt(str);
    System.out.println(int_val);
  }
}

출력:

1424

Java에서replaceAll()을 사용하여 숫자가 아닌 문자를 제거한 후String 변환

문자열에 숫자가 아닌 문자가 포함 된 경우 regex와 함께 String클래스의 replaceAll()메서드를 사용하여 숫자가 아닌 문자를 모두 제거한 다음 Integer클래스의 parseInt()메서드를 사용하여 동등한 정수 값을 가져옵니다. 아래 예를 참조하십시오.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1424x";
    str = str.replaceAll("[^\\d]", "");
    int int_val = Integer.parseInt(str);
    System.out.println(int_val);
  }
}

출력:

1424

관련 문장 - Java String

관련 문장 - Java Integer