관심쟁이 영호
JAVA - String to int ㅣ 문자열 -> 정수 ㅣ ParseInt 본문
안녕하세요!
관심쟁이 영호입니다.
오늘 함께 공부해볼 내용은
자바입니다.
문자열을 정수형으로 바꾸기 위해서는 여러 조건이 있어야 해요!
조건
1. 문자열은 "123123"과 같이 정수형의 문자로만 이루어져 있어야 한다.
2. "abjdmf가나-+!!123"과 같은 문자열을 정수형으로 바꾸는 것은 불가능하다.
3. "abjdmf가나-+!!123"을 정수형으로 바꾸기 위해서는 한 문자씩 꺼내어 아스키, 유니 등등 코드로 변환하는 방법이 있다.
1. 문자열은 "123123"과 같이 정수형의 문자로만 이루어져 있어야 한다.
이러한 조건에는 사용하는 함수가 있어요!
그 함수는
Integer.ParseInt() 입니다!
사용방법은 코드로 바로 살펴볼게요.
public class Test {
public static void main(String[] args) {
String str = "123123"; // 문자열의 123123지정
int str_to_int_a; // 문자열을 정수로 바꾼다음 담을 변수
str_to_int_a = Integer.parseInt(str); // String -> int 변환작업
System.out.println("str_to_int_a = " + str_to_int_a); // 변환후 출력
System.out.println("str_to_int_a - 10 = " + (str_to_int_a - 10)); // 정수형이 맞는지 10을 뺀 후 출력
}
}
이렇게 해서 결과는!
이렇게 나왔네요!
10을 빼준 이유는 정수형이 아니라면 10이 마이너스 연산이 되는 것이 안 되겠죠!?
그럼 이 방법을 "abjdmf가나-+!!123" 문자열로 바꾼 다음에 똑같이 해볼게요!
이러한 에러가 뜨네요..
이유는 해당 함수에서 지원하는 형식에 맞지 않는 겁니다!
2. 문자 + 숫자 형태로 되어있는 문자열 변환하기!
"abjdmf가나-+!!123"를 예시로 써볼게요!
이러한 문자열을 숫자로 변환하는 경우는 문자열끼리 사전 순으로 정렬을 하고 싶을 때 사용을 많이 하게 되는 경우입니다.
이 문자열을 정수로 바꾸고 싶으면
한 문자씩 꺼내서 그 문자만 변환해주는 방식으로 해야 해요!
이때 사용하는 함수는
charAt(); 입니다!
사용방법은
charAt(Index number)
문자열을 배열처럼 0, 1, 2, 3자리로 나타낸다음 한 문자만 꺼내는 겁니다!
예를 들어서 위의 문자열 "abjdmf가나-+!!123" 같은 경우에
charAt(3)을 하게 되면 'd'라는 문자가 튀어나오게 됩니다!
그럼 코드로 어떻게 사용하는지 살펴볼게요!
public class Test {
public static void main(String[] args) {
String str = "abjdmf가나-+!!123";
int str_to_int_a;
for (int i = 0; i < str.length(); i++) {
char str_temp = str.charAt(i);
str_to_int_a = (int)(str_temp);
System.out.println("charAt를 이용하여 한 글자씩 꺼내보기 "+ i +"번째 요소 꺼내기 = " + str.charAt(i));
System.out.println(i + "번째 요소 꺼낸다음 int로 캐스팅 한 값! = " +str_to_int_a);
System.out.println("");
}
}
}
결과는!
이렇게 볼 수 있어요.
한 글자씩 꺼내서 정수로 변환해 주기!
오늘은 여기까지.
'학교공부 > 자바의 왕!' 카테고리의 다른 글
[Callback Method] 콜백함수? ㅣ 자바에서는 어떻게 써야할까? (0) | 2021.03.24 |
---|---|
JAVA - int to String ㅣ double to String ㅣ float to String ㅣ 정수 -> 문자열 ㅣ double -> 문자열 ㅣ float -> 문자열 (0) | 2020.12.01 |
[#@.2] 자바(JAVA) - 쓰레드 ㅣ 동기화 ㅣ Synchronize (0) | 2020.11.19 |
[#@] 자바 - 쓰레드(Thread) (0) | 2020.11.17 |
안녕하세요 최고왕입니다. (0) | 2019.10.28 |