자바에서 문자열을 숫자로 또는 숫자를 문자열로 또는 숫자를 실수 형태의 데이터 타입으로 변환해야하는 경우가 있습니다.
문자열에 있는 숫자를 계산하기 위해 변환해야 하거나 0으로 시작하는 숫자값을 표시하기 위해서등 여러가지 이유가 있습니다.
이번에는 자바에서 데이터 형변환을 하는 방법을 알아보겠습니다.
문자 ⇒ 숫자
문자에서 숫자로 형변환 하는 방법을 알아보겠습니다.
문자에서 숫자로 변환하기 위해 Integer클래스의 parseInt함수 또는 valueOf 함수로 변환할 수 있습니다.
public class Program
{
public static void main(String[] args) {
String strnum = "10";
int intnum1 = Integer.parseInt(strnum);
int intnum2 = Integer.valueOf(strnum);
System.out.println("strnum : " + strnum);
System.out.println("intnum1 : " + intnum1);
System.out.println("intnum2 : " + intnum2);
}
}
결과
strnum : 10
intnum1 : 10
intnum2 : 10
문자열 타입으로 들어있던 숫자 10이 숫자 타입으로 형변환을 했습니다.
숫자 형태로 데이터 타입이 변환이 되었습니다.
integer 뿐만 아니라 Double, Float, Long, Short으로도 문자열에서 형변환이 가능합니다.
public class Program
{
public static void main(String[] args) {
String strnum = "10";
int intnum1 = Integer.parseInt(strnum);
int intnum2 = Integer.valueOf(strnum);
double dbnum = Double.parseDouble(strnum);
float flnum = Float.parseFloat(strnum);
long lonum = Long.parseLong(strnum);
short shnum = Short.parseShort(strnum);
System.out.println("strnum : " + strnum);
System.out.println("intnum1 : " + intnum1);
System.out.println("intnum2 : " + intnum2);
System.out.println("dbnum : " + dbnum);
System.out.println("flnum : " + flnum);
System.out.println("lonum : " + lonum);
System.out.println("shnum : " + shnum);
}
}
결과
strnum : 10
intnum1 : 10
intnum2 : 10
dbnum : 10.0
flnum : 10.0
lonum : 10
shnum : 10
문자열 값이 숫자 타입의 데이터로 형변환이 되었습니다.
숫자 형태로 값을 형변환할때 사용한 함수인 parseInt, parseDouble등 각각의 데이터 타입의 함수를 사용했습니다.
또는 valueOf를 사용해 변환을 했습니다.
parseInt와 valueOf의 형변환 차이는 아래를 참조해주세요.
숫자 ⇒ 문자
이번에는 숫자를 문자열 타입으로 형변환하는 방법을 알아보겠습니다.
숫자를 문자로 변경하는 방법으로는 String클래스 valueOf 또는 toString 함수로 변환할 수 있습니다.
샘플을 보면서 확인해보겠습니다.
public class Program
{
public static void main(String[] args) {
int intnum = 10;
String strnum1;
String strnum2;
strnum1 = String.valueOf(intnum);
strnum2 = Integer.toString(intnum);
System.out.println("strnum1 : " + strnum1);
System.out.println("strnum2 : " + strnum2);
}
}
결과
strnum1 : 10
strnum2 : 10
숫자 타입의 값이 문자 타입의로 변환되었습니다.
숫자를 문자 타입으로 변환 할 때 사용한 valueOf 과 toString의 차이점은 아래를 참조해주세요.
정수 ⇒ 실수
정수에서 실수로 형변환 하는 방법을 알아보겠습니다.
숫자에서 숫자 타입이지만 소수점을 사용해야 하는 경우에는 타입을 변환해야 합니다.
샘플을 보도록 하겠습니다.
public class Program
{
public static void main(String[] args) {
int intnum = 10;
double dbnum = (double)intnum;
float flnum = (float)intnum;
System.out.println("dbnum : " + dbnum);
System.out.println("flnum : " + flnum);
}
}
결과
dbnum : 10.0
flnum : 10.0
숫자 정수형 타입을 원하는 실수형 타입으로 변환했습니다.
변수 앞에 변환하고 싶은 데이터 형을 (Double) 또는 (Float) 형식으로 붙여주면 변환이됩니다.
실수 ⇒ 정수
실수를 정수 타입으로 변환하는 방법을 보겠습니다.
샘플을 보면서 사용방법을 확인해보겠습니다.
public class Program
{
public static void main(String[] args) {
int intnum1;
int intnum2;
double dbnum = 11.01234;
float flnum = 2.43F;
intnum1 = (int)dbnum;
intnum2 = (int)flnum;
System.out.println("intnum1 : " + intnum1);
System.out.println("intnum2 : " + intnum2);
}
}
결과
intnum1 : 11
intnum2 : 2
숫자 실수형 타입을 정수형 타입으로 변환했습니다.
변환하는 방법은 (Int) 방식으로 변환시킬 수 있습니다.
주의점으로는 실수형을 정수형으로 변환하면 소수점 아래자리는 버려집니다.
정리
자바에서 문자열, 숫자, 실수 타입의 데이터를 원하는 형식의 타입으로 변화하는 방법을 알아봤습니다.
기본적으로 데이터 변환은 각가의 클래스 타입에서 지원하는 함수들을 사용해 변환이 가능합니다.
댓글