한 걸음 두 걸음
자바 JAVA ] 10진수 <-> 16진수 변환 / Integer.toHexString / Integer.parseInt 본문
자바 JAVA ] 10진수 <-> 16진수 변환 / Integer.toHexString / Integer.parseInt
언제나 변함없이 2020. 4. 30. 23:32요약
10진수 -> 16진수 String : Integer.toHexString(13);
16진수 -> 10진수 int : Integer.parseInt("d",16);
java.lang패키지에 있는 Integer클래스는
10진수 값을 16진수로 바꾸고 16진수를 10진수로 바꿔주는 함수를 지원한다.
10진수 -> 16진수 String
static String toHexString(int i)
매개변수로 들어온 i값을 양수 16진수로 String값으로 바꾸어 반환한다.
사용예시
Integer.toHexString(13); // d
16진수에서 10 = a 11 = b 12 = c 13 = d 14 = e 15 = f 16 = 11이므로
13을 입력하면 "d"가 반환된다.
참고로 10진수 -> 2진수(toBinaryString) 8진수(toOctalString) 변환도 있다.
16진수 -> 10진수 int
반대로, 16진수를 10진수로 변경하려면
static int parseInt(String s, int radix) 함수를 써야한다.
radix진수인 s값을 10진수 int로 반환한다.
사용예시
Integer.parseInt("d",16); //13
16진수인 d를 10진수로 바꿔서 반환한다.
더 많은 예시
parseInt("0", 10) returns 0
parseInt("473", 10) returns 473
parseInt("+42", 10) returns 42
parseInt("-0", 10) returns 0
parseInt("-FF", 16) returns -255
parseInt("1100110", 2) returns 102
parseInt("2147483647", 10) returns 2147483647
parseInt("-2147483648", 10) returns -2147483648
parseInt("2147483648", 10) throws a NumberFormatException
parseInt("99", 8) throws a NumberFormatException
parseInt("Kona", 10) throws a NumberFormatException
parseInt("Kona", 27) returns 411787
보다 자세한 설명
public static int parseInt(String s, int radix) throws NumberFormatException
Parses the string argument as a signed integer in the radix specified by the second argument. The characters in the string must all be digits of the specified radix (as determined by whether Character.digit(char, int) returns a nonnegative value), except that the first character may be an ASCII minus sign '-' ('\u002D') to indicate a negative value or an ASCII plus sign '+' ('\u002B') to indicate a positive value. The resulting integer value is returned.
An exception of type NumberFormatException is thrown if any of the following situations occurs:
The first argument is null or is a string of length zero.
The radix is either smaller than Character.MIN_RADIX or larger than Character.MAX_RADIX.
Any character of the string is not a digit of the specified radix, except that the first character may be a minus sign '-' ('\u002D') or plus sign '+' ('\u002B') provided that the string is longer than length 1.
The value represented by the string is not a value of type int.
Parameters:
s - the String containing the integer representation to be parsed
radix - the radix to be used while parsing s.
Returns:
the integer represented by the string argument in the specified radix.
Throws:
NumberFormatException - if the String does not contain a parsable int.
출처 : 공식 문서 https://docs.oracle.com/javase/9/docs/api/java/lang/Integer.html
참고로
Integer클래스가 지원하는 parseInt()함수는 3가지가 있다. -매개변수가 다르므로 각각의 상황에 따라 호출된다.
가장 많이 쓰는 것은
static int parseInt(String s) : 매개변수로 들어온 s값을 10진수 int로 반환한다.
두 번째는 위에서 다룬
static int parseInt(String s, int radix)는 radix진수로 쓰여진 s를 10진수 int형으로 반환한다.
마지막으로 static int parseInt(CharSequence s, int beginIndex, int endIndex, int radix)는
주어진 s의 beginIndex에서 endIndex-1까지의 문자열을 radix진수 값으로 보고 이를 10진수 int값으로 반환한다.
'Language > Java' 카테고리의 다른 글
자바 JAVA ] 10진수 <-> 8진수 변환 Integer.toOctalString / Integer.parseInt (0) | 2020.04.30 |
---|---|
자바 JAVA ] 10진수 <-> 2진수 변환 / Integer.toBinaryString / Integer.parseInt (0) | 2020.04.30 |
Eclipse 마우스 커서가 + 모양이 되었을 때 되돌리는 방법 (0) | 2020.04.29 |
이클립스 코드만 보기 / 전체보기 토글키 / 콘솔 프로젝트 창 되돌리기 (0) | 2020.04.23 |
자바 JAVA ] 소수 *번째 자리에서 반올림하기 / Math.round() (0) | 2020.01.23 |