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