BACK/JAVA

[JAVA] charAt(i) -'0' 사용 이유

연듀 2022. 7. 27. 11:30

 

charAt이란 string 타입으로 받은 문자열을 char 타입으로 한 글자만 받게 해주는 함수이다.

 

 

숫자형 문자를 CharAt함수로 추출하면  char형이므로 int 형으로 변환하려하면 아스키코드로 변환된다.

따라서 '0' 또는 48을 빼주어야 의도한대로 계산할 수 있다. 

 

String n = "123";

n.charAt(0); // 1
n.charAt(1); // 2
n.charAt(2); // 3

(int)n.charAt(0) + (int)n.charAt(1) // 49 + 50 = 99

 

 

'0'(char) => 48 
'1'(char) => 49
'2'(char) => 50

 

여기서 -'0'(48)을 해주면 원하는 숫자가 나온다.

 

n.charAt(0)-'0' = 49-48 = 1

n.charAt(1)-'0' = 50-48 = 2