loading

프로그래밍/JAVA

[JAVA] 형 변환 방법(문자형 <-> 정수형 <-> 실수형)

침착곰 2021. 5. 16. 15:25
반응형

안녕하세요

자바 프로그래밍을 하다 보면 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에서 문자형, 정수형, 실수형의 형 변환 방법에 대해서 알아봤습니다!

형 변환에 대해서 공부를 하는 개발자분들, 형 변환 방법이 갑자기 생각이 안 되는 분들에게 제 글이 도움이 되셨으면 좋겠습니다

반응형
그리드형