Integer.parseint 소수점 - integer.parseint sosujeom

도도팩토리

문자(열) <-> 숫자


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 ch2 = '5';
char[] ch2 = {'a','b', 'c'};

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

Char To String

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

char ch2 = 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)

안녕하세요 한주현입니다.

오늘은 java에서 문자열에서 정수형, double형으로 변환하는 방법에 대해 알아보겠습니다.

그리고 문자열에서 기본형으로 바꾸는 방법에 대해 알아보겠습니다.

 1. 문자열에서 정수형으로 바꾸는 방법 - Integer 클래스 parseInt 메서드 사용

문자열에서 정수형으로 바꾸는 방법 - Integer 클래스 parseInt 메서드 사용

문자열에서 정수형 객체로 바꾸는 방법은 Integer 클래스의 parseInt 메서드를 사용하는 방법입니다.

<소스코드>

class StringToInt {

public static void main(String[] args) {

String s1 = "100";

int i1 = Integer.parseInt(s1);

System.out.println(i1);

}

}

cs

<결과>

 2. 문자열에서 double형으로 바꾸는 방법 - Double 클래스 parseDouble 메서드 사용

문자열에서 double형으로 바꾸는 방법 - Double 클래스 parseDouble 메서드 사용

문자열에서 double형 객체로 바꾸는 방법은 Double 클래스의 parseDouble 메서드를 사용하는 방법입니다.

<소스코드>

class StringToDouble {

public static void main(String[] args) {

String s1 = "100";

double d1 = Double.parseDouble(s1);

System.out.println(d1);

}

}

cs

<결과>

 3. 문자열에서 java 기본형으로 바꾸는 방법

문자열 → boolean

class Convert {

public static void main(String[] args) {

String s1 = "True";

boolean bool1 = Boolean.parseBoolean(s1);

System.out.println(bool1);

}

}

cs

문자열 → byte

class Convert {

public static void main(String[] args) {

String s1 = "100";

byte byte1 = Byte.parseByte(s1);

System.out.println(byte1);

}

}

cs

byte는 -128 ~ 127 까지 범위를 가지고 있으며 만약 String 의 값이 범위를 벗어난다면 아래와 같이

java.lang.NumberFormatException

오류가 발생합니다.

Exception in thread "main" java.lang.NumberFormatException: Value out of range. Value:"10

cs

문자열 → short

class Convert {

public static void main(String[] args) {

String s1 = "100";

short short1 = Short.parseShort(s1);

System.out.println(short1);

}

}

cs

short는 -32768 ~ 32767 까지 범위를 가지고 있으며 만약 String 의 값이 범위를 벗어난다면 아래와 같이

java.lang.NumberFormatException

오류가 발생합니다.

Exception in thread "main" java.lang.NumberFormatException: Value out of range. Value:"100000" Radix:10

cs

문자열 → int

class Convert {

public static void main(String[] args) {

String s1 = "100";

int int1 = Integer.parseInt(s1);

System.out.println(int1);

}

}

cs

int는 -2147483648 ~ 2147483647 까지 범위를 가지고 있으며 만약 String 의 값이 범위를 벗어난다면 아래와 같이

java.lang.NumberFormatException

오류가 발생합니다.

Exception in thread "main" java.lang.NumberFormatException: Value out of range. Value:"100000000000" Radix:10

cs

문자열 → long


class Convert {

public static void main(String[] args) {

String s1 = "100";

long long1 = Long.parseLong(s1);

System.out.println(long1);

}

}

cs

int는 -9223372036854775808 ~ 9223372036854775807 까지 범위를 가지고 있으며 만약 String 의 값이 범위를 벗어난다면 아래와 같이

java.lang.NumberFormatException

오류가 발생합니다.

Exception in thread "main" java.lang.NumberFormatException: Value out of range. Value:"9223372036854775808" Radix:10

cs

문자열 → float

class Convert {

public static void main(String[] args) {

String s1 = "100";

        float float1 = Float.parseFloat(s1);

System.out.println(float1);

}

}

cs

float는 1.4E-45 ~ 3.4028235E38 까지 양수 범위를 가지고 있으며 만약 String 의 값이 범위를 벗어난다면 아래와 같이

Infinity로 표기 됩니다.

문자열 → double

class Convert {

public static void main(String[] args) {

String s1 = "100";

        double double1 = Double.parseDouble(s1);

System.out.println(double1);

}

}

cs

double은 4.9E-324~1.7976931348623157E308 까지 양수 범위를 가지고 있으며 만약 String 의 값이 범위를 벗어난다면 아래와 같이

오늘은 java에서 String 에서 int, double로 바꾸는 방법과

각 문자열을 java 기본형으로 변환하는 방법 대하여 알아봤습니다.

모두들 열공하시고 ㅎㅎ

그럼 다음시간에 만나요~