본문 바로가기
Programming/Java

[JAVA] 형 변환 / 문자열<->숫자, 정수<->실수

by 도도팩토리 2020. 6. 30.
반응형

문자(열) <-> 숫자


String To Int

String s = "12345";
int i = Integer.parseInt(s);
String s = "12345";
int i = Integer.valueOf(s);

Int To String

int i = 12345;
String s = Integer.toString(i);
int i = 12345;
String s = String.valueOf(i);

마찬가지로 Double, Float, Long, Short 자료형도 valueOf 함수로 모두 변환이 가능하다.

(Casting 하려는 자료형).valueOf(Casting 할 Value)

 

String 이 -12345 일 경우 > -12345 (Integer)

String 이 012345 일 경우 > 12345 (Integer)


Char To Int

char ch = '5';
int i = (int)(ch - '0');

Int To Char

int i = 5;
char ch = (char)(i + '0');

단순 형 변환을 할 경우 해당 아스키코드 값으로 출력된다. ex) 65->'A' / 'A'->65

원하는 값을 얻으려면 '0' (48) 에 해당하는 값을 더하거나 빼 주어야 한다.

 

 

 

문자열 <-> 문자


String To Char

char ch1 = '5';
char[] ch2 = {'a','b', 'c'};

String s1 = String.valueOf(ch1); // '5'
String s2 = String.valueOf(ch2); // 'abc'

 

Char To String

String s1 = "1";
String s2 = "1234";

char ch1 = s1.charAt(0); // '1'
char[] ch2 = s2.toCharArray(); // 1234

 

ch2는 Char형 '1','2','3','4'를 가지고 있는 Char 배열이므로 ch2[0], ch2[1], ch2[2]... 와 같이 접근이 가능하다.

s2의 length() 만큼 돌려서 Char를 하나씩 꺼내는것,

s2.toCharArray()로 Char배열 만든 후 length 만큼 돌려서 하나씩 꺼내는 것 두가지 방법이 있다.

 

정수 <-> 실수


Double, Float To Int

double d = 1010.10101010; // double타입은 64비트로 실수를 표현
float f = 1010.101010f; // float타입은 32비트로 실수를 표현, 리터럴에 f를 붙혀 실수임을 표기해야함.

int i;
i = (int)d; //Double To Int
i = (int)f; //Float To Int

이 때, 소수점 뒷 자리들은 버려진다. (반올림 되지 않음.)

Int To Double, Float

int i= 1234;
	
double d = (double)i; //Int To Double
float f = (float)i; //Int To Float

기본적으로 소수점 첫 째 자리까지 출력된다. (1234.0)

반응형

'Programming > Java' 카테고리의 다른 글

[JAVA] Java Collection Framework (JCF)의 이해.  (0) 2020.06.25