Java/[도서] 자바의 정석

형변환 (문자형↔정수형↔실수형)

Lea Hwang 2022. 4. 23. 00:40

알고리즘을 풀다 보면, 같은 타입만 계속해서 있는 것이 아니라 서로 다른 타입간의 연산을 수행해야 할 일이 자주 발생합니다. 오늘은 문자형↔정수형↔실수형 형변환을 정리해보는 시간을 가져보겠습니다. 

 

 

  • 문자형 → 정수형, 실수형
    • String to Int
    • String to Long, Short
    • String to Double, Float
  • 정수형, 실수형 → 문자형
    • Int to String
    • Double, Float to String
  • 정수형 ↔ 실수형
    • Int to Double, Float
    • Double, Float to Int

    

   


 

문자형 → 정수형, 실수형

String to Int

Integer클래스의 parseInt( )와 valueOf( )

String str = "1004"
    int num1 = Integer.parseInt(str); // 1004
    int num2 = Integer.valueOf(str);  // 1004
A.valueOf(B)
: B를 A로 변환한다

 

String to Long, Short

Long, Short클래스의 parseLong( ), parseShort( ) 

String str = "1004";
    long num1 = Long.parseLong(str); 	 // 1004
    short num2 = Short.parseShort(str);  // 1004

 

String to Double, Float

Double, Float클래스의 valueOf( )

String str = "1004";
    double num1 = Double.valueOf(str); // 1004.0
    float num2 =  Float.valueOf(str);  // 1004.0

 

 

정수형, 실수형 → 문자형

Int to String

String클래스의 valueOf( ), toString( ), "" + int형

int num = 70;
    String str1 = String.valueOf(num);   // 70
    String str2 = Integer.toString(num); // 70
    String str3 = ""+num;                // 70

 

 

Double, Float to String

String클래스의 valueOf( ), toString( )

float f_num = 3.e5f;
double d_num = 3867.215820;
    String str1 = String.valueOf(f_num);  // 300000.0
    String str2 = Float.toString(f_num);  // 300000.0

    String str3 = String.valueOf(d_num);  // 3867.21582
    String str4 = Double.toString(d_num); // 3867.21582

 

 

정수형 ↔ 실수형

Int to Double, Float

(Double,Float)캐스팅

int num = 1004;
    double d_num = (double)num; // 1004.0
    float f_num = (float)num;   // 1004.0

 

Double, Float to Int

 (Int)캐스팅, 이 경우 실수형의 소수점 아래 자리는 버려집니다.

double d_num = 3867.215820;
float f_num = 3.e5f;
    int num1 = (int)d_num; // 3867
    int num2 = (int)f_num; // 300000