개발/공부

charAt() - 48은 언제 해야할까?

할루솔이 2023. 6. 13. 00:53
반응형

코테 문제를 풀 때 charAt()을 많이 사용하게 된다.

근데 어떨때는어떨 때는 -48을 해야 원하는 값이 나오고, 어떨 때는 안 해도 숫자가 제대로 나온다?!

도대체 언제 해야할까?

 

 

 

charAt() 메서드

charAt() 메서드는 문자열에서 해당 인덱스에 있는 문자를 반환해 준다.

String str = "12345";
char ch = str.charAt(0);
int num1 = ch - 48; // 1

String str2 = "ABC";
char ch2 = str2.charAt(0);
int num2 = ch2 - 48; // 해당 문자는 숫자가 아니므로 -48 하지 않음

String str3 = "9876";
char ch3 = str3.charAt(3);
int num3 = ch3 - 48; // 6

위 코드처럼 문자열이 숫자로만 이루어진 경우에는 -48을 해주어야 원하는 숫자값을 얻을 수 있다.

만약 int num1 = ch;만 해주고 System.out.println(num1); 출력해 보면

원하는 값인 1이 아니라 49가 나온다.

즉, 문자 -> 숫자로 변환할 때! char ch 값을 int num1로 변환할 때 -48을 해주면 된다.

 

숫자 외에 문자나 다른 값인 경우에는 -48을 사용하지 않는다. 

str2처럼 문자열이 문자로만 이루어져 있으니 -48을 해줄 필요가 없다.

 

 

반응형