룰루랑랑
[Java] String 문자열 처리 5 - 문자열을 숫자로 바꾸기(feat. valueOf(), parseInt()) 본문
안녕하세요. 룰루랑랑입니다.
오늘은 String 문자열을 in 숫자로 바꾸는 방법에 대해서 알아보겠습니다.
일단, 문자열을 숫자로 바꾸는 이유에 대해서 알아보겠습니다.
Q. 문자열을 왜 숫자로 바꾸나요?
컴퓨터는 숫자를 2가지로 표현할 수 있습니다.
첫 번째는 일반적으로 우리가 알고 있는 진짜 숫자입니다.
두 번째는 숫자를 표현한 문자열입니다.
우리는 숫자를 보았을 때 곧바로 숫자라는 것을 인식하지만, 컴퓨터는 특정 데이터가 들어왔을 때 이것이 숫자 인지 문자열 인지 인식 할 수 없습니다.
그래서 문자열 숫자도 있고 진짜 숫자가 있는 것이지요.
상황이 이렇다보니 사용자들로 입력 받은 숫자가 사실은 문자열이거나 진짜 숫자일 가능성이 있죠.
그래서 만약 문자열 숫자를 입력 받았다면 우리는 숫자 연산을 위해서 이를 진짜 숫자로 바꿔줄 필요가 있는 것입니다.
하지만, 진짜 그러한지 테스트를 해봐야겠죠? ㅎㅎㅎ
아래와 같이 코드를 입력하고 출력 결과를 알아봅시다.
String one은 문자열 숫자 1
String two는 문자열 숫자 2 입니다.
이를 + 연산을 통해서 결과를 얻으면 어떤 결과가 출력될까요?
이전 시간에 다루었던 텍스트 합치기 포스팅을 보신 분들은
출력 결과를 쉽게 예측하실 수 있으실 겁니다.
출력 결과는 12 입니다.
그 이유는 1이라는 문자열에 2라는 문자열이 합쳐져
12라는 문자열이 된 것이기 때문입니다.
어쨋든 우리는 1 + 2 연산을 하고 싶기 때문에 문자열을 숫자로 변환해보겠습니다.
먼저 문자열에서 숫자로 변환하는 방법은 2가지 방법이 있습니다.
# 1. Integer.valueOf()를 이용한 문자열 -> 숫자 변환하기
위와 같이 코드를 입력하고 한번 테스트 해보죠.
우리가 원하는 것은 1 + 2 = 3 인 결과이죠. ㅎㅎㅎ
Shift + F10을 눌러 프로그램 결과를 봅시다.
짠! 출력결과가 3이 나왔습니다.
앞서 12가 출력된 것과 달리 3이라는 결과가 정확하게 출력되었습니다.
이번엔 2번째 방법으로 문자열에서 숫자로 바꾸어 볼까요?
# 2. Integer.parseInt()를 이용한 문자열 -> 숫자 변환하기
위와 같이 코드를 한번 작성해 봅시다.
이번에도 동일하게 결과가 출력될 것 같죠? ㅎㅎㅎ
예측되는 결과지만 한번 실행해 봅시다.
Shift + F10을 눌러 프로그램을 실행합니다.
결과는 3!
정확하게 결과가 출력 되었습니다.
Q. 그럼 Integer.valueOf()랑 parseInt()랑 어떤 것을 사용해야 하나요?
두 가지 방법 모두 사용하셔도 무방하니다.
특별한 성능상의 문제점도 없기 때문이죠.
근데 일반적으로 parseInt() 방법이 정석적인 방법이라고 보시면 됩니다.
저도 자바 관련 프로그래밍 책을 보거나 강좌를 보면
대부분 parseInt()를 많이 쓰기 때문이죠. ㅎㅎㅎ
근데 개인적으로 valueof()를 더 많이 씁니다.
어떤 것을 쓸지는 독자분들의 결정에 맡기겠습니다.
그럼 전체 소스 코드를 보여드릴께요.
매번 말씀드리지만, 그냥 읽어보시는 것보다 직접 코드를 작성하면서 결과를 출력해보면 더 쉽게 이해가 갈 것입니다. ㅎㅎㅎ
오늘도 긴 글 읽어주셔서 감사합니다.
다음 시간엔 더 좋은 내용을 찾아뵙겠습니다.
'Java 레시피' 카테고리의 다른 글
[Java] String 문자열 처리 4 - 문자열 붙이기(concat, +, append) (2) | 2016.12.06 |
---|---|
[Java] String 문자열 처리 3 - 공백 제거하기 Trim (0) | 2016.11.25 |
[Java] String 문자열 처리 2 - 문자열 비교하기 (0) | 2016.11.24 |
[Java] String 텍스트 처리 1 - 텍스트 자르기 (0) | 2016.11.23 |