문자열을 숫자 또는 래퍼 클래스로 변환하는 다양한 방법

래퍼 클래스 링크

int i = new Integer("100").intValue(); // floatValue(), longValue(), ...
int i2 = Integer.parseInt("100"); // 주로 이 방법 많이 사용
Integer i3 = Integer.valueOf("100"); // 래퍼클래스 valueOf
// inti3 = Integer.valueOf("100"); // 래퍼클래스 valueOf
문자열 -> 기본형 문자열 -> 래퍼클래스
byte b = Byte.parseByte("100");
short s = Short.parseShort("100");
int i = Integer.parseInt("100");
long l = Long.parseLong("100");
float f = Float.parseFloat("3.14");
double d = Double.parseDouble("3.14");
Byte b = Byte.valueOf("100"); // Byte b = new Byte("100);
Short s = Short.valueOf("100");
Integer i = Integer.valueOf("100");
Long l = Long.valueOf("100");
Float f = Float.valueOf("3.14");
Double d = Double.valueOf("3.14");
  래퍼 클래스 -> 문자열
String str = b.toString();

 

n 진법의 문자열을 숫자로 변환하는 방법

int i4 = Integer.parseInt("100", 2); // 100(2) -> 4 // 문자열 100을 2진수로 해석하면 4
int i5 = Integer.parseInt("100", 8); // 100(8) -> 64 // 문자열 100을 8진수로 해석하면 64
int i6 = Integer.parseInt("100", 16); // 100(16) -> 256 // 문자열 100을 16진수로 해석하면 256
int i7 = Integer.parseInt("FF", 16); // FF(16) -> 255 // 문자열 FF을 16진수로 해석하면 255
// 뒤에 아무것도 안붙이면 10이 생략되어 있다
// int i8 = Integer.parseInt("FF"); // NumberFomatException 발생, 10진수에는 F가 없다

 

코드

public class stringchangeTest {
    public static void main(String[] args) {
        System.out.println(Integer.parseInt("100")); // 100
        System.out.println(Integer.parseInt("100", 10)); // 100
        System.out.println(Integer.parseInt("100", 2)); // 4
        System.out.println(Integer.parseInt("100", 4)); // 16
        System.out.println(Integer.parseInt("100", 8)); // 64
        System.out.println(Integer.parseInt("100", 16)); // 256
        System.out.println(Integer.parseInt("FF", 16)); // 255
    }
}

100
100
4
16
64
256
255

 

반응형

+ Recent posts