본문 바로가기
JAVA

[JAVA] - 문자열을 정수로 변환 (String to Int)

by nam_ji 2023. 10. 18.

문자열 -> 정수 변환

변환 방법

  • 문자열(String)을 Integer또는 int로 변환하기 위해 래퍼 클래스 Integer의 몇가지 메소드(parseInt(), valueOf(), decode())를 제공합니다.

1. Integer.parseInt() 메소드

  • parseInt() 메소드는 전달받은 문자열을 원시 타입인 int로 변환합니다.
    문자열을 int로 변환할 수 없는 경우 NumberFormatException 예외가 발생합니다.
String str = "100";

int num1 = Integer.parseInt(str);

System.out.println("num: " + num1);
  • 실행 결과
num: 100
  • parseInt() 메소드는 두번째 매개변수가 생략된 경우 10진수로 변환된 값을 반환합니다.
    10진수가 아닌 다른 진수로 변환하고 싶은 경우 두번재 매개변수에 변환하고자 하는 진수를 전달하면 됩니다.
String str1 = "100";
String str2 = "Google";

int num1 = Integer.parseInt(str1, 16);
int num2 = Integer.parseInt(str2, 32);

System.out.println("num1: " + num1);
System.out.println("num2: " + num2);
  • 실행 결과
num1: 256
num2: 562840238

2. Integer.valueOf() 메소드

  • valueOf() 메소드는 parseInt() 메소드와 달리 int가 아닌 Integer로 반환합니다.
    문자열을 변환할 수 없는 경우 NumberFormatException 예외가 발생합니다.
String str1 = "50";
String str2 = "100";
String str3 = "Google";

int num1 = Integer.valueOf(str1);
int num2 = Integer.valueOf(str2, 16);
int num3 = Integer.valueOf(str3, 32);

System.out.println("num1: " + num1);
System.out.println("num2: " + num2);
System.out.println("num3: " + num3);
  • 실행 결과
num1: 50
num2: 256
num3: 562840238

3. Integer.decode() 메소드

  • decode() 메소드는 다른 메소드와 달리 재정의 (Override)된 형태가 존재하지 않습니다.
    문자열을 변환할 수 없는 경우 NumberFormatException 예외가 발생합니다.
String str1 = "50";
String str2 = "100";

int num1 = Integer.decode(str1);
int num2 = Integer.decode(str2);

System.out.println("num1: " + num1);
System.out.println("num2: " + num2);
  • 실행 결과
num1: 50
num2: 100
  • decode() 메소드는 8진수, 10진수, 16진수를 허용하지만 2진수는 지원하지 않습니다.
String str1 = "030";
String str2 = "0x30";

int num1 = Integer.decode(str1);
int num2 = Integer.decode(str2);

System.out.println("num1: " + num1);
System.out.println("num2: " + num2);
  • 실행 결과
num1: 24
num2: 48
  • parseInt()와 valueOf() 메소드와 달리 숫자가 아닌 문자열은 변환할 수 없습니다.
String str = "Google";

int num = Integer.decode(str);

System.out.println("num: " + num);
  • 실행 결과

 

'JAVA' 카테고리의 다른 글

[JAVA] - contains, indexOf, matches()  (0) 2023.11.13
[JAVA] - JPA란 / Hibernate란  (0) 2023.11.10
[JAVA] - 람다식  (1) 2023.10.17
[JAVA] - Comparable과 Comparator의 차이  (0) 2023.10.16
[JAVA] - 배열  (0) 2023.09.29