문자열을 숫자 또는 래퍼 클래스로 변환하는 다양한 방법
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
반응형