안녕하세요
자바 프로그래밍을 하다 보면 String으로 되어있는 변수를 숫자로 변환해서 계산을 실행하는 경우
정수로 되어있는 숫자를 실수로 변경해서 계산해야 하는 등 여러 상황에서 형 변환을 해서 구해야 할 때가 많습니다
프로그래밍을 시작한 지 얼마 안 되신 분이라면 가끔 어떻게 사용하는지 까먹을 때가 있습니다
개발을 많이 했어도 가끔 생각이 안 나서 멈칫 할때가 있네요 ㅎㄷㄷ;;
이번 포스팅에서는 자바의 형 변환(문자형, 정수형, 실수형) 방법에 대해서 알아보겠습니다
목차
문자형 -> 숫자
숫자 -> 문자형
정수 <-> 실수
문자형 -> 숫자
문자열을 숫자(정수, 실수)로 변경하는 방법입니다
String -> Int
아마 프로그래밍을 하는 분들이라면 가장 많이 사용하실 겁니다
다양한 곳에서 사용되는 String을 Int로 변환하는 방법입니다!!
Integer.parseInt(String값);
Integer.valueOf(String값);
을 사용하여 변환할 수 있습니다
String str = "100";
System.out.println(Integer.parseInt(str));
System.out.print(Integer.valueOf(str));
String -> Double, Float
String -> Int보다는 많이 사용하지 않지만 그래도 어느 정도 사용하는 double과 float의 변환 방법입니다
valueOf와 parse를 사용하여 double과 float를 변환해줍니다
Double.valueOf(String값); Double.parseDouble(String값);
Float.valueOf(String값); Float.parseFloat(String값);
을 사용해서 변환할 수 있습니다
String str = "100";
System.out.println(Double.valueOf(str));
System.out.println(Double.parseDouble(str));
System.out.println(Float.valueOf(str));
System.out.println(Float.parseFloat(str));
String -> Long, Short
자주 쓰지 않는 Long과 Short이지만 그래도 한 번 사용법을 적어봅니다
마찬가지로 valueOf와 parse를 사용하여 변환할 수 있습니다
String str = "100";
System.out.println(Long.valueOf(str));
System.out.println(Long.parseLong(str));
System.out.println(Short.valueOf(str));
System.out.println(Short.parseShort(str));
아래는 전체 코드 및 결과 화면입니다
전체 코드
public class CastingSI {
public static void main(String[] args) {
String str = "100";
// String -> Int
System.out.println("String -> Int : " + Integer.parseInt(str));
System.out.println("String -> Int : " + Integer.valueOf(str));
// String -> Double
System.out.println("String -> Double : " + Double.valueOf(str));
System.out.println("String -> Double : " + Double.parseDouble(str));
// String -> Float
System.out.println("String -> Float : " + Float.valueOf(str));
System.out.println("String -> Float : " + Float.parseFloat(str));
// String -> Long
System.out.println("String -> Long : " + Long.valueOf(str));
System.out.println("String -> Long : " + Long.parseLong(str));
// String -> Short
System.out.println("String -> Short : " + Short.valueOf(str));
System.out.println("String -> Short : " + Short.parseShort(str));
}
}
결과 화면
아래는 위의 코드를 실행한 결과 화면입니다
숫자 -> 문자형
숫자(정수, 실수)를 문자열로 변경하는 방법입니다
Int -> String
개발을 하다 보면 숫자에서 문자형으로 전환되는 경우 가장 많이 사용할 방법입니다
String.valueOf(int값);
Integer.toString(int값);
을 사용하여 변경할 수 있습니다
int i = 100;
System.out.println(String.valueOf(i));
System.out.println(Integer.toString(i));
Double, Float -> String
실수형을 String으로 변환하는 방법입니다
Int형을 String으로 변환하는 방법만큼 많이 사용하는 방법일 겁니다
String.valueOf(double값); String.valoue(float값);
Double.toString(double값); Float.toString(float값);
을 사용하여 실수형을 String으로 변환합니다
double d = 100.10;
System.out.println(String.valueOf(d));
System.out.println(Double.toString(d));
float f = 100.10f;
System.out.println(String.valueOf(f));
System.out.println(Float.toString(f));
Long, Short -> String
마지막으로 잘 사용하지 않는 방법이지만 Long, Short를 String으로 변환하는 방법입니다
위에 String -> Long, Short로 변경하는 방법을 추가했기 때문에 이 방법을 추가합니다
String.valueOf(Long값); Long.toString(Long값);
String.valueOf(Short값); Short.toString(Short값);
을 사용하여 Long과 Short를 변환합니다
Long l = 100l;
System.out.println(String.valueOf(l));
System.out.println(Long.toString(l));
Short s = 100;
System.out.println(String.valueOf(s));
System.out.println(Short.toString(s));
여기까지 숫자를 문자형으로 변환하는 방법에 대해서 알아봤습니다
전체 코드와 결과 값을 확인해보겠습니다!
전체 코드
public class CastingSI2 {
public static void main(String[] args) {
int i = 100;
// Int -> String
System.out.println("Int -> String : " + String.valueOf(i));
System.out.println("Int -> String : " + Integer.toString(i));
// Double -> String
double d = 100.10;
System.out.println("Double -> String : " + String.valueOf(d));
System.out.println("Double -> String : " + Double.toString(d));
// Float -> String
float f = 100.10f;
System.out.println("Float -> String : " + String.valueOf(f));
System.out.println("Float -> String : " + Float.toString(f));
// Long -> String
Long l = 100l;
System.out.println("Long -> String : " + String.valueOf(l));
System.out.println("Long -> String : " + Long.toString(l));
// Short -> String
Short s = 100;
System.out.println("Short -> String : " + String.valueOf(s));
System.out.println("Short -> String : " + Short.toString(s));
}
}
결과 화면
위의 전체 코드를 실행한 화면입니다
정수 <-> 실수
정수를 실수로 변환, 실수를 정수로 변환하는 방법입니다
Int -> Double, Float
Int를 Double와 Float로 변환하는 방법입니다
간단하게 앞에 (double)와 (float)를 붙여서 캐스팅을 해줍니다
int i = 100;
System.out.println(((double) i));
System.out.println(((float) i));
Double, Float -> Int
Double과 Float를 변환하는 방법입니다
double은 (int)를 사용하여 캐스팅을 하면 됩니다
실수로 캐스팅하는 경우 정수 외의 나머지 부분은 버림 처리를 합니다
float의 경우 예전에는 (int)를 사용하여 캐스팅을 하는 게 됐었던 것 같았는데 지금은 막힌 것 같습니다
float로 캐스팅하기 위해서는 Math메서드를 사용하여 반올림, 올림, 내림을 사용하여 정수형으로 바꾼 후 캐스팅을 해야 오류 없이 변환이 가능합니다
double d = 100.50;
Float f = 100.50f;
System.out.println("Double -> Int : " + ((int) d));
System.out.println("Float -> Int : " + ((int) Math.round(f)));
이제 전체 코드와 결과 화면을 통해서 어떻게 출력되는지 알아보겠습니다!
전체 코드
public class CastingSI3 {
public static void main(String[] args) {
// Int -> Double, Float
int i = 100;
System.out.println("Int -> Double : " + ((double) i));
System.out.println("Int -> Float : " + ((float) i));
// Double, Float -> Int
double d = 100.50;
Float f = 100.50f;
System.out.println("Double -> Int : " + ((int) d));
System.out.println("Float -> Int : " + ((int) Math.round(f)));
}
}
결과 화면
double에서 int로 형 변환을 하는 경우 자동으로 버림 처리하는 것을 확인할 수 있습니다
여기까지 JAVA에서 문자형, 정수형, 실수형의 형 변환 방법에 대해서 알아봤습니다!
형 변환에 대해서 공부를 하는 개발자분들, 형 변환 방법이 갑자기 생각이 안 되는 분들에게 제 글이 도움이 되셨으면 좋겠습니다
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] indexOf, lastIndexOf 사용 방법 (0) | 2021.05.16 |
---|---|
[JAVA] Cannot cast from Float to int 에러 해결 (0) | 2021.05.16 |
[JAVA] 오버로딩(Overloading)과 오버라이딩(Overriding)의 차이점 (0) | 2021.05.16 |
[JAVA/에러] No enclosing instance of type Overriding is accessible... 에러 해결 방법 (0) | 2021.05.16 |
[JAVA] 표준입출력 System.in 클래스 (0) | 2021.05.15 |