[자바]문자열 숫자의 변환

문자열 -> 숫자 parsexxx();

parsexxx()메소드를 이용해서 문자열을 숫자형으로 변환 가능합니다.

int x = Integer.parseInt("455");
double y = Double.parseDouble("555");

사용 방법은 변환을 원하는 타입의 래퍼클래스.parse타입()으로 사용합니다.

문자열 -> 숫자 valueOf()

int x = Integer.valueOf("123").intValue();
double y = Double.valueOf("34.5").doubleValue();

valueOf()의 사용 방법은 바꾸고자 하는 타입의 래퍼클래스.valueOf("xx").타입value();입니다. 여기서 valueOf는 래퍼클래스 객체를(Integer면 Integer객체로) 변환하므로 기본타입으로 변환시켜 주는 intValue()등을 한 번 더 붙여야 합니다.

숫자 -> 문자열 toString()

int x = 10;
String str = Integer.toString(x);

래퍼클래스.toString();메소드를 사용하면 숫자형 데이터를 문자열 데이터로 바꿔줄 수 있습니다.

숫자 -> 문자열 StringBuilder

StringBuilder sb = new StringBuilder();
String x = "ab";
String y = "cdef";

sb.append(x);
sb.append(y);
System.out.println(sb); -> abcdef

sb.delete(1,3); -> 1번 인덱스~2번 인덱스까지 삭제. -> adef
sb.insert(1, "x"); ->1번 인덱스 자리에 x 삽입 -> axdef
sb.replace(1, 3, "y"); -> 1~2번 인덱스 자리의 문자를 y로 대체. -> ayyef 

StringBuilder는 일반 문자열 객체의 수정에서 살짝 차이가 있습니다. 기본적인 문자열은 수정 할 때 새로운 메모리에 값을 할당하는 방식이지만 StringBuilder은 원래의 문자열을 변경시켜줍니다. 예를 들어 "ab"+"cd+를 하면 String클래스에서는 새로운 메모리를 할당받아 "abcd"문자열을 새로 만들지만 StringBuilder는 내부에 가변 길이의(변하는 길이) 배열을 갖고 있어서 "ab"문자열을 "abcd"로 바꿔줍니다. 그 외에도 insert, replace등이 사용 가능하며 범위를 지정할 때는 (x, y)라고 한다면 x~ (y-1)의 범위가 지정됩니다.

참고 자료 : 이것이 자바다, 국비 교육

좋은 웹페이지 즐겨찾기